2026-01-05 14:46:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498680068 ms) 2026-01-05 14:46:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498680069 ms) 2026-01-05 14:46:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:45:40.710602+00:00'} (T+498680072 ms) 2026-01-05 14:46:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+498720077 ms) 2026-01-05 14:46:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+498720077 ms) 2026-01-05 14:46:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+498720077 ms) 2026-01-05 14:46:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+498720078 ms) 2026-01-05 14:46:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+498721114 ms) 2026-01-05 14:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+498721115 ms) 2026-01-05 14:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:46:40.710807+00:00', 'runtime': '498720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498721117 ms) 2026-01-05 14:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:45:40.710536+00:00', 'runtime': '498660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498721119 ms) 2026-01-05 14:47:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498740088 ms) 2026-01-05 14:47:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498740089 ms) 2026-01-05 14:47:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:46:40.710859+00:00'} (T+498740092 ms) 2026-01-05 14:47:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+498780075 ms) 2026-01-05 14:47:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+498780076 ms) 2026-01-05 14:47:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+498780076 ms) 2026-01-05 14:47:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+498780076 ms) 2026-01-05 14:47:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+498781113 ms) 2026-01-05 14:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+498781114 ms) 2026-01-05 14:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:47:40.710729+00:00', 'runtime': '498780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498781116 ms) 2026-01-05 14:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:46:40.710807+00:00', 'runtime': '498720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498781119 ms) 2026-01-05 14:48:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498800085 ms) 2026-01-05 14:48:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498800086 ms) 2026-01-05 14:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:47:40.710838+00:00'} (T+498800089 ms) 2026-01-05 14:48:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+498840084 ms) 2026-01-05 14:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+498840084 ms) 2026-01-05 14:48:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+498840085 ms) 2026-01-05 14:48:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+498840085 ms) 2026-01-05 14:48:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+498841123 ms) 2026-01-05 14:48:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+498841124 ms) 2026-01-05 14:48:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:48:40.710730+00:00', 'runtime': '498840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498841126 ms) 2026-01-05 14:48:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:47:40.710729+00:00', 'runtime': '498780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498841127 ms) 2026-01-05 14:49:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498860091 ms) 2026-01-05 14:49:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498860092 ms) 2026-01-05 14:49:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:48:40.710837+00:00'} (T+498860095 ms) 2026-01-05 14:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+498900083 ms) 2026-01-05 14:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+498900083 ms) 2026-01-05 14:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+498900084 ms) 2026-01-05 14:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+498900084 ms) 2026-01-05 14:49:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+498901119 ms) 2026-01-05 14:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+498901119 ms) 2026-01-05 14:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:49:40.710544+00:00', 'runtime': '498900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498901120 ms) 2026-01-05 14:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:48:40.710730+00:00', 'runtime': '498840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498901121 ms) 2026-01-05 14:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498920090 ms) 2026-01-05 14:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498920091 ms) 2026-01-05 14:50:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:49:40.710813+00:00'} (T+498920094 ms) 2026-01-05 14:50:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+498960054 ms) 2026-01-05 14:50:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+498960054 ms) 2026-01-05 14:50:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+498960054 ms) 2026-01-05 14:50:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+498960054 ms) 2026-01-05 14:50:41.762 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+498961083 ms) 2026-01-05 14:50:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+498961083 ms) 2026-01-05 14:50:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:50:40.710532+00:00', 'runtime': '498960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498961084 ms) 2026-01-05 14:50:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:49:40.710544+00:00', 'runtime': '498900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+498961084 ms) 2026-01-05 14:51:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498980072 ms) 2026-01-05 14:51:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+498980073 ms) 2026-01-05 14:51:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:50:40.710580+00:00'} (T+498980076 ms) 2026-01-05 14:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499020083 ms) 2026-01-05 14:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499020083 ms) 2026-01-05 14:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499020083 ms) 2026-01-05 14:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499020084 ms) 2026-01-05 14:51:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499021121 ms) 2026-01-05 14:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499021122 ms) 2026-01-05 14:51:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:51:40.710815+00:00', 'runtime': '499020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499021126 ms) 2026-01-05 14:51:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:50:40.710532+00:00', 'runtime': '498960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499021127 ms) 2026-01-05 14:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499040090 ms) 2026-01-05 14:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499040092 ms) 2026-01-05 14:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:51:40.710891+00:00'} (T+499040094 ms) 2026-01-05 14:52:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499080083 ms) 2026-01-05 14:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499080084 ms) 2026-01-05 14:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499080084 ms) 2026-01-05 14:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499080084 ms) 2026-01-05 14:52:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499081118 ms) 2026-01-05 14:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499081118 ms) 2026-01-05 14:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:52:40.710722+00:00', 'runtime': '499080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499081119 ms) 2026-01-05 14:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:51:40.710815+00:00', 'runtime': '499020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499081119 ms) 2026-01-05 14:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499100088 ms) 2026-01-05 14:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499100089 ms) 2026-01-05 14:53:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:52:40.710845+00:00'} (T+499100092 ms) 2026-01-05 14:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499140082 ms) 2026-01-05 14:53:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499140083 ms) 2026-01-05 14:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499140083 ms) 2026-01-05 14:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499140083 ms) 2026-01-05 14:53:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499141113 ms) 2026-01-05 14:53:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499141114 ms) 2026-01-05 14:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:53:40.710726+00:00', 'runtime': '499140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499141115 ms) 2026-01-05 14:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:52:40.710722+00:00', 'runtime': '499080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499141115 ms) 2026-01-05 14:54:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499160088 ms) 2026-01-05 14:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499160089 ms) 2026-01-05 14:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:53:40.710836+00:00'} (T+499160092 ms) 2026-01-05 14:54:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499200078 ms) 2026-01-05 14:54:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499200078 ms) 2026-01-05 14:54:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499200079 ms) 2026-01-05 14:54:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499200079 ms) 2026-01-05 14:54:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499201114 ms) 2026-01-05 14:54:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499201115 ms) 2026-01-05 14:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:54:40.713158+00:00', 'runtime': '499200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499201119 ms) 2026-01-05 14:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:53:40.710726+00:00', 'runtime': '499140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499201120 ms) 2026-01-05 14:55:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499220085 ms) 2026-01-05 14:55:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499220086 ms) 2026-01-05 14:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:54:40.710819+00:00'} (T+499220089 ms) 2026-01-05 14:55:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499260053 ms) 2026-01-05 14:55:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499260054 ms) 2026-01-05 14:55:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499260054 ms) 2026-01-05 14:55:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499260054 ms) 2026-01-05 14:55:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499261079 ms) 2026-01-05 14:55:41.758 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499261080 ms) 2026-01-05 14:55:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:55:40.710527+00:00', 'runtime': '499260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499261080 ms) 2026-01-05 14:55:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:54:40.713158+00:00', 'runtime': '499200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499261081 ms) 2026-01-05 14:56:00.743 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499280065 ms) 2026-01-05 14:56:00.745 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499280066 ms) 2026-01-05 14:56:00.749 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:55:40.710616+00:00'} (T+499280070 ms) 2026-01-05 14:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499320083 ms) 2026-01-05 14:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499320084 ms) 2026-01-05 14:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499320084 ms) 2026-01-05 14:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499320084 ms) 2026-01-05 14:56:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499321118 ms) 2026-01-05 14:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499321118 ms) 2026-01-05 14:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:56:40.710821+00:00', 'runtime': '499320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499321119 ms) 2026-01-05 14:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:55:40.710527+00:00', 'runtime': '499260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499321120 ms) 2026-01-05 14:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499340091 ms) 2026-01-05 14:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499340092 ms) 2026-01-05 14:57:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:56:40.710907+00:00'} (T+499340097 ms) 2026-01-05 14:57:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499380078 ms) 2026-01-05 14:57:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499380079 ms) 2026-01-05 14:57:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499380079 ms) 2026-01-05 14:57:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499380079 ms) 2026-01-05 14:57:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499381118 ms) 2026-01-05 14:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499381119 ms) 2026-01-05 14:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:57:40.710724+00:00', 'runtime': '499380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499381121 ms) 2026-01-05 14:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:56:40.710821+00:00', 'runtime': '499320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499381122 ms) 2026-01-05 14:58:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499400087 ms) 2026-01-05 14:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499400088 ms) 2026-01-05 14:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:57:40.710835+00:00'} (T+499400094 ms) 2026-01-05 14:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499440083 ms) 2026-01-05 14:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499440083 ms) 2026-01-05 14:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499440084 ms) 2026-01-05 14:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499440084 ms) 2026-01-05 14:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499441119 ms) 2026-01-05 14:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499441119 ms) 2026-01-05 14:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:58:40.710741+00:00', 'runtime': '499440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499441120 ms) 2026-01-05 14:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:57:40.710724+00:00', 'runtime': '499380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499441120 ms) 2026-01-05 14:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499460090 ms) 2026-01-05 14:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499460091 ms) 2026-01-05 14:59:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:58:40.710832+00:00'} (T+499460094 ms) 2026-01-05 14:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499500083 ms) 2026-01-05 14:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499500083 ms) 2026-01-05 14:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499500084 ms) 2026-01-05 14:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499500084 ms) 2026-01-05 14:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499501116 ms) 2026-01-05 14:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499501116 ms) 2026-01-05 14:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 14:59:40.710772+00:00', 'runtime': '499500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499501117 ms) 2026-01-05 14:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:58:40.710741+00:00', 'runtime': '499440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499501118 ms) 2026-01-05 15:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499520090 ms) 2026-01-05 15:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499520091 ms) 2026-01-05 15:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 14:59:40.710865+00:00'} (T+499520093 ms) 2026-01-05 15:00:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499560083 ms) 2026-01-05 15:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499560084 ms) 2026-01-05 15:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499560084 ms) 2026-01-05 15:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499560084 ms) 2026-01-05 15:00:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499561119 ms) 2026-01-05 15:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499561120 ms) 2026-01-05 15:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:00:40.710803+00:00', 'runtime': '499560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499561121 ms) 2026-01-05 15:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 14:59:40.710772+00:00', 'runtime': '499500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499561121 ms) 2026-01-05 15:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499580091 ms) 2026-01-05 15:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499580092 ms) 2026-01-05 15:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:00:40.710886+00:00'} (T+499580094 ms) 2026-01-05 15:01:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499620077 ms) 2026-01-05 15:01:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499620077 ms) 2026-01-05 15:01:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499620078 ms) 2026-01-05 15:01:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499620078 ms) 2026-01-05 15:01:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499621114 ms) 2026-01-05 15:01:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499621115 ms) 2026-01-05 15:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:01:40.710733+00:00', 'runtime': '499620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499621117 ms) 2026-01-05 15:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:00:40.710803+00:00', 'runtime': '499560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499621118 ms) 2026-01-05 15:02:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499640090 ms) 2026-01-05 15:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499640091 ms) 2026-01-05 15:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:01:40.713237+00:00'} (T+499640094 ms) 2026-01-05 15:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499680083 ms) 2026-01-05 15:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499680083 ms) 2026-01-05 15:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499680084 ms) 2026-01-05 15:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499680084 ms) 2026-01-05 15:02:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499681117 ms) 2026-01-05 15:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499681117 ms) 2026-01-05 15:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:02:40.710689+00:00', 'runtime': '499680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499681118 ms) 2026-01-05 15:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:01:40.710733+00:00', 'runtime': '499620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499681118 ms) 2026-01-05 15:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499700091 ms) 2026-01-05 15:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499700092 ms) 2026-01-05 15:03:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:02:40.710844+00:00'} (T+499700095 ms) 2026-01-05 15:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499740083 ms) 2026-01-05 15:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499740083 ms) 2026-01-05 15:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499740084 ms) 2026-01-05 15:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499740084 ms) 2026-01-05 15:03:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499741121 ms) 2026-01-05 15:03:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499741123 ms) 2026-01-05 15:03:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:03:40.710742+00:00', 'runtime': '499740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499741125 ms) 2026-01-05 15:03:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:02:40.710689+00:00', 'runtime': '499680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499741126 ms) 2026-01-05 15:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499760091 ms) 2026-01-05 15:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499760092 ms) 2026-01-05 15:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:03:40.710843+00:00'} (T+499760095 ms) 2026-01-05 15:04:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499800082 ms) 2026-01-05 15:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499800083 ms) 2026-01-05 15:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499800083 ms) 2026-01-05 15:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499800084 ms) 2026-01-05 15:04:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499801121 ms) 2026-01-05 15:04:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499801122 ms) 2026-01-05 15:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:04:40.710732+00:00', 'runtime': '499800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499801125 ms) 2026-01-05 15:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:03:40.710742+00:00', 'runtime': '499740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499801125 ms) 2026-01-05 15:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499820090 ms) 2026-01-05 15:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499820091 ms) 2026-01-05 15:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:04:40.710861+00:00'} (T+499820093 ms) 2026-01-05 15:05:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499860078 ms) 2026-01-05 15:05:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499860079 ms) 2026-01-05 15:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499860079 ms) 2026-01-05 15:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499860080 ms) 2026-01-05 15:05:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499861116 ms) 2026-01-05 15:05:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499861117 ms) 2026-01-05 15:05:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:05:40.710722+00:00', 'runtime': '499860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499861120 ms) 2026-01-05 15:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:04:40.710732+00:00', 'runtime': '499800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499861121 ms) 2026-01-05 15:06:00.759 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499880080 ms) 2026-01-05 15:06:00.759 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499880080 ms) 2026-01-05 15:06:00.760 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:05:40.710852+00:00'} (T+499880081 ms) 2026-01-05 15:06:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499920075 ms) 2026-01-05 15:06:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499920076 ms) 2026-01-05 15:06:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499920076 ms) 2026-01-05 15:06:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499920076 ms) 2026-01-05 15:06:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499921111 ms) 2026-01-05 15:06:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499921112 ms) 2026-01-05 15:06:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:06:40.710750+00:00', 'runtime': '499920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499921114 ms) 2026-01-05 15:06:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:05:40.710722+00:00', 'runtime': '499860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499921115 ms) 2026-01-05 15:07:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499940087 ms) 2026-01-05 15:07:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+499940088 ms) 2026-01-05 15:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:06:40.710875+00:00'} (T+499940094 ms) 2026-01-05 15:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+499980083 ms) 2026-01-05 15:07:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+499980084 ms) 2026-01-05 15:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+499980084 ms) 2026-01-05 15:07:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+499980085 ms) 2026-01-05 15:07:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+499981115 ms) 2026-01-05 15:07:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+499981115 ms) 2026-01-05 15:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:07:40.710735+00:00', 'runtime': '499980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499981116 ms) 2026-01-05 15:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:06:40.710750+00:00', 'runtime': '499920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+499981117 ms) 2026-01-05 15:08:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500000091 ms) 2026-01-05 15:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500000092 ms) 2026-01-05 15:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:07:40.710897+00:00'} (T+500000094 ms) 2026-01-05 15:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500040082 ms) 2026-01-05 15:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500040083 ms) 2026-01-05 15:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500040084 ms) 2026-01-05 15:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500040084 ms) 2026-01-05 15:08:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500041112 ms) 2026-01-05 15:08:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500041112 ms) 2026-01-05 15:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:08:40.710716+00:00', 'runtime': '500040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500041114 ms) 2026-01-05 15:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:07:40.710735+00:00', 'runtime': '499980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500041115 ms) 2026-01-05 15:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500060090 ms) 2026-01-05 15:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500060091 ms) 2026-01-05 15:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:08:40.710842+00:00'} (T+500060094 ms) 2026-01-05 15:09:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500100077 ms) 2026-01-05 15:09:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500100077 ms) 2026-01-05 15:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500100077 ms) 2026-01-05 15:09:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500100078 ms) 2026-01-05 15:09:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500101113 ms) 2026-01-05 15:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500101113 ms) 2026-01-05 15:09:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:09:40.710730+00:00', 'runtime': '500100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500101115 ms) 2026-01-05 15:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:08:40.710716+00:00', 'runtime': '500040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500101116 ms) 2026-01-05 15:10:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500120089 ms) 2026-01-05 15:10:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500120090 ms) 2026-01-05 15:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:09:40.710840+00:00'} (T+500120093 ms) 2026-01-05 15:10:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500160079 ms) 2026-01-05 15:10:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500160079 ms) 2026-01-05 15:10:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500160079 ms) 2026-01-05 15:10:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500160080 ms) 2026-01-05 15:10:44.893 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500164214 ms) 2026-01-05 15:10:44.894 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500164215 ms) 2026-01-05 15:10:44.895 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:10:40.710746+00:00', 'runtime': '500160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500164216 ms) 2026-01-05 15:10:44.895 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:09:40.710730+00:00', 'runtime': '500100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500164216 ms) 2026-01-05 15:11:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500180083 ms) 2026-01-05 15:11:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500180084 ms) 2026-01-05 15:11:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:10:40.710856+00:00'} (T+500180085 ms) 2026-01-05 15:11:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500220077 ms) 2026-01-05 15:11:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500220077 ms) 2026-01-05 15:11:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500220077 ms) 2026-01-05 15:11:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500220078 ms) 2026-01-05 15:11:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500221114 ms) 2026-01-05 15:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500221115 ms) 2026-01-05 15:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:11:40.710614+00:00', 'runtime': '500220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500221117 ms) 2026-01-05 15:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:10:40.710746+00:00', 'runtime': '500160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500221118 ms) 2026-01-05 15:12:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500240087 ms) 2026-01-05 15:12:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500240088 ms) 2026-01-05 15:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:11:40.710860+00:00'} (T+500240091 ms) 2026-01-05 15:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500280083 ms) 2026-01-05 15:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500280083 ms) 2026-01-05 15:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500280084 ms) 2026-01-05 15:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500280084 ms) 2026-01-05 15:12:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500281117 ms) 2026-01-05 15:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500281118 ms) 2026-01-05 15:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:12:40.710731+00:00', 'runtime': '500280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500281119 ms) 2026-01-05 15:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:11:40.710614+00:00', 'runtime': '500220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500281119 ms) 2026-01-05 15:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500300090 ms) 2026-01-05 15:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500300091 ms) 2026-01-05 15:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:12:40.710834+00:00'} (T+500300094 ms) 2026-01-05 15:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500340083 ms) 2026-01-05 15:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500340083 ms) 2026-01-05 15:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500340084 ms) 2026-01-05 15:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500340084 ms) 2026-01-05 15:13:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500341119 ms) 2026-01-05 15:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500341120 ms) 2026-01-05 15:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:13:40.710788+00:00', 'runtime': '500340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500341121 ms) 2026-01-05 15:13:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:12:40.710731+00:00', 'runtime': '500280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500341122 ms) 2026-01-05 15:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500360090 ms) 2026-01-05 15:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500360091 ms) 2026-01-05 15:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:13:40.710863+00:00'} (T+500360094 ms) 2026-01-05 15:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500400083 ms) 2026-01-05 15:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500400084 ms) 2026-01-05 15:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500400084 ms) 2026-01-05 15:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500400084 ms) 2026-01-05 15:14:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500401122 ms) 2026-01-05 15:14:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500401123 ms) 2026-01-05 15:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:14:40.710768+00:00', 'runtime': '500400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500401125 ms) 2026-01-05 15:14:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:13:40.710788+00:00', 'runtime': '500340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500401126 ms) 2026-01-05 15:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500420090 ms) 2026-01-05 15:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500420092 ms) 2026-01-05 15:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:14:40.710849+00:00'} (T+500420095 ms) 2026-01-05 15:15:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500460077 ms) 2026-01-05 15:15:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500460078 ms) 2026-01-05 15:15:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500460078 ms) 2026-01-05 15:15:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500460079 ms) 2026-01-05 15:15:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500461115 ms) 2026-01-05 15:15:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500461115 ms) 2026-01-05 15:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:15:40.710733+00:00', 'runtime': '500460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500461117 ms) 2026-01-05 15:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:14:40.710768+00:00', 'runtime': '500400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500461118 ms) 2026-01-05 15:16:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500480084 ms) 2026-01-05 15:16:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500480086 ms) 2026-01-05 15:16:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:15:40.710802+00:00'} (T+500480088 ms) 2026-01-05 15:16:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500520084 ms) 2026-01-05 15:16:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500520085 ms) 2026-01-05 15:16:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500520085 ms) 2026-01-05 15:16:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500520086 ms) 2026-01-05 15:16:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500521119 ms) 2026-01-05 15:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500521120 ms) 2026-01-05 15:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:16:40.713158+00:00', 'runtime': '500520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500521121 ms) 2026-01-05 15:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:15:40.710733+00:00', 'runtime': '500460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500521121 ms) 2026-01-05 15:17:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500540087 ms) 2026-01-05 15:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500540088 ms) 2026-01-05 15:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:16:40.710802+00:00'} (T+500540091 ms) 2026-01-05 15:17:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500580076 ms) 2026-01-05 15:17:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500580077 ms) 2026-01-05 15:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500580077 ms) 2026-01-05 15:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500580077 ms) 2026-01-05 15:17:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500581112 ms) 2026-01-05 15:17:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500581113 ms) 2026-01-05 15:17:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:17:40.710755+00:00', 'runtime': '500580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500581116 ms) 2026-01-05 15:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:16:40.713158+00:00', 'runtime': '500520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500581116 ms) 2026-01-05 15:18:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500600089 ms) 2026-01-05 15:18:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500600090 ms) 2026-01-05 15:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:17:40.710854+00:00'} (T+500600092 ms) 2026-01-05 15:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500640083 ms) 2026-01-05 15:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500640083 ms) 2026-01-05 15:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500640084 ms) 2026-01-05 15:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500640084 ms) 2026-01-05 15:18:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500641124 ms) 2026-01-05 15:18:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500641125 ms) 2026-01-05 15:18:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:18:40.710766+00:00', 'runtime': '500640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500641128 ms) 2026-01-05 15:18:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:17:40.710755+00:00', 'runtime': '500580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500641128 ms) 2026-01-05 15:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500660091 ms) 2026-01-05 15:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500660092 ms) 2026-01-05 15:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:18:40.710852+00:00'} (T+500660094 ms) 2026-01-05 15:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500700083 ms) 2026-01-05 15:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500700083 ms) 2026-01-05 15:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500700084 ms) 2026-01-05 15:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500700084 ms) 2026-01-05 15:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500701119 ms) 2026-01-05 15:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500701119 ms) 2026-01-05 15:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:19:40.710764+00:00', 'runtime': '500700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500701120 ms) 2026-01-05 15:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:18:40.710766+00:00', 'runtime': '500640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500701121 ms) 2026-01-05 15:20:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500720092 ms) 2026-01-05 15:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500720094 ms) 2026-01-05 15:20:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:19:40.713226+00:00'} (T+500720097 ms) 2026-01-05 15:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500760083 ms) 2026-01-05 15:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500760084 ms) 2026-01-05 15:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500760084 ms) 2026-01-05 15:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500760084 ms) 2026-01-05 15:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500761119 ms) 2026-01-05 15:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500761120 ms) 2026-01-05 15:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:20:40.710756+00:00', 'runtime': '500760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500761121 ms) 2026-01-05 15:20:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:19:40.710764+00:00', 'runtime': '500700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500761122 ms) 2026-01-05 15:21:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500780087 ms) 2026-01-05 15:21:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500780089 ms) 2026-01-05 15:21:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:20:40.710835+00:00'} (T+500780091 ms) 2026-01-05 15:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500820082 ms) 2026-01-05 15:21:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500820083 ms) 2026-01-05 15:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500820083 ms) 2026-01-05 15:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500820083 ms) 2026-01-05 15:21:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500821115 ms) 2026-01-05 15:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500821116 ms) 2026-01-05 15:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:21:40.710710+00:00', 'runtime': '500820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500821117 ms) 2026-01-05 15:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:20:40.710756+00:00', 'runtime': '500760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500821117 ms) 2026-01-05 15:22:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500840090 ms) 2026-01-05 15:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500840091 ms) 2026-01-05 15:22:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:21:40.710814+00:00'} (T+500840093 ms) 2026-01-05 15:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500880082 ms) 2026-01-05 15:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500880083 ms) 2026-01-05 15:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500880083 ms) 2026-01-05 15:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500880084 ms) 2026-01-05 15:22:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500881113 ms) 2026-01-05 15:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500881114 ms) 2026-01-05 15:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:22:40.710718+00:00', 'runtime': '500880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500881115 ms) 2026-01-05 15:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:21:40.710710+00:00', 'runtime': '500820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500881115 ms) 2026-01-05 15:23:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500900087 ms) 2026-01-05 15:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500900088 ms) 2026-01-05 15:23:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:22:40.710850+00:00'} (T+500900090 ms) 2026-01-05 15:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+500940083 ms) 2026-01-05 15:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+500940083 ms) 2026-01-05 15:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+500940084 ms) 2026-01-05 15:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+500940084 ms) 2026-01-05 15:23:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+500941123 ms) 2026-01-05 15:23:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+500941124 ms) 2026-01-05 15:23:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:23:40.710768+00:00', 'runtime': '500940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500941127 ms) 2026-01-05 15:23:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:22:40.710718+00:00', 'runtime': '500880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+500941128 ms) 2026-01-05 15:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500960090 ms) 2026-01-05 15:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+500960091 ms) 2026-01-05 15:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:23:40.710856+00:00'} (T+500960094 ms) 2026-01-05 15:24:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501000085 ms) 2026-01-05 15:24:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501000085 ms) 2026-01-05 15:24:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501000086 ms) 2026-01-05 15:24:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501000086 ms) 2026-01-05 15:24:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501001122 ms) 2026-01-05 15:24:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501001122 ms) 2026-01-05 15:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:24:40.713175+00:00', 'runtime': '501000.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501001123 ms) 2026-01-05 15:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:23:40.710768+00:00', 'runtime': '500940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501001123 ms) 2026-01-05 15:25:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501020091 ms) 2026-01-05 15:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501020092 ms) 2026-01-05 15:25:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:24:40.710810+00:00'} (T+501020095 ms) 2026-01-05 15:25:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501060085 ms) 2026-01-05 15:25:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501060085 ms) 2026-01-05 15:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501060086 ms) 2026-01-05 15:25:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501060086 ms) 2026-01-05 15:25:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501061124 ms) 2026-01-05 15:25:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501061125 ms) 2026-01-05 15:25:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:25:40.713151+00:00', 'runtime': '501060.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501061127 ms) 2026-01-05 15:25:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:24:40.713175+00:00', 'runtime': '501000.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501061128 ms) 2026-01-05 15:26:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501080086 ms) 2026-01-05 15:26:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501080088 ms) 2026-01-05 15:26:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:25:40.710817+00:00'} (T+501080091 ms) 2026-01-05 15:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501120083 ms) 2026-01-05 15:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501120083 ms) 2026-01-05 15:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501120084 ms) 2026-01-05 15:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501120084 ms) 2026-01-05 15:26:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501121123 ms) 2026-01-05 15:26:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501121124 ms) 2026-01-05 15:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:26:40.710717+00:00', 'runtime': '501120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501121127 ms) 2026-01-05 15:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:25:40.713151+00:00', 'runtime': '501060.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501121127 ms) 2026-01-05 15:27:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501140091 ms) 2026-01-05 15:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501140092 ms) 2026-01-05 15:27:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:26:40.710860+00:00'} (T+501140095 ms) 2026-01-05 15:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501180083 ms) 2026-01-05 15:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501180084 ms) 2026-01-05 15:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501180084 ms) 2026-01-05 15:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501180084 ms) 2026-01-05 15:27:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501181117 ms) 2026-01-05 15:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501181117 ms) 2026-01-05 15:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:27:40.710716+00:00', 'runtime': '501180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501181118 ms) 2026-01-05 15:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:26:40.710717+00:00', 'runtime': '501120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501181119 ms) 2026-01-05 15:28:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501200087 ms) 2026-01-05 15:28:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501200088 ms) 2026-01-05 15:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:27:40.710861+00:00'} (T+501200091 ms) 2026-01-05 15:28:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501240077 ms) 2026-01-05 15:28:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501240078 ms) 2026-01-05 15:28:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501240078 ms) 2026-01-05 15:28:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501240079 ms) 2026-01-05 15:28:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501241117 ms) 2026-01-05 15:28:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501241118 ms) 2026-01-05 15:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:28:40.710737+00:00', 'runtime': '501240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501241122 ms) 2026-01-05 15:28:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:27:40.710716+00:00', 'runtime': '501180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501241123 ms) 2026-01-05 15:29:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501260089 ms) 2026-01-05 15:29:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501260090 ms) 2026-01-05 15:29:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:28:40.710851+00:00'} (T+501260093 ms) 2026-01-05 15:29:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501300077 ms) 2026-01-05 15:29:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501300077 ms) 2026-01-05 15:29:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501300078 ms) 2026-01-05 15:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501300078 ms) 2026-01-05 15:29:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501301115 ms) 2026-01-05 15:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501301116 ms) 2026-01-05 15:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:29:40.710743+00:00', 'runtime': '501300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501301118 ms) 2026-01-05 15:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:28:40.710737+00:00', 'runtime': '501240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501301119 ms) 2026-01-05 15:30:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501320087 ms) 2026-01-05 15:30:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501320088 ms) 2026-01-05 15:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:29:40.710853+00:00'} (T+501320091 ms) 2026-01-05 15:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501360083 ms) 2026-01-05 15:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501360083 ms) 2026-01-05 15:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501360084 ms) 2026-01-05 15:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501360084 ms) 2026-01-05 15:30:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501361119 ms) 2026-01-05 15:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501361119 ms) 2026-01-05 15:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:30:40.710726+00:00', 'runtime': '501360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501361120 ms) 2026-01-05 15:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:29:40.710743+00:00', 'runtime': '501300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501361121 ms) 2026-01-05 15:31:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501380088 ms) 2026-01-05 15:31:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501380089 ms) 2026-01-05 15:31:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:30:40.710835+00:00'} (T+501380090 ms) 2026-01-05 15:31:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501420085 ms) 2026-01-05 15:31:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501420085 ms) 2026-01-05 15:31:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501420086 ms) 2026-01-05 15:31:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501420086 ms) 2026-01-05 15:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501421119 ms) 2026-01-05 15:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501421120 ms) 2026-01-05 15:31:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:31:40.713175+00:00', 'runtime': '501420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501421122 ms) 2026-01-05 15:31:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:30:40.710726+00:00', 'runtime': '501360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501421123 ms) 2026-01-05 15:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501440090 ms) 2026-01-05 15:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501440091 ms) 2026-01-05 15:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:31:40.710821+00:00'} (T+501440094 ms) 2026-01-05 15:32:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501480084 ms) 2026-01-05 15:32:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501480085 ms) 2026-01-05 15:32:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501480085 ms) 2026-01-05 15:32:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501480085 ms) 2026-01-05 15:32:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501481124 ms) 2026-01-05 15:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501481125 ms) 2026-01-05 15:32:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:32:40.710759+00:00', 'runtime': '501480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501481127 ms) 2026-01-05 15:32:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:31:40.713175+00:00', 'runtime': '501420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501481128 ms) 2026-01-05 15:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501500090 ms) 2026-01-05 15:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501500091 ms) 2026-01-05 15:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:32:40.710851+00:00'} (T+501500094 ms) 2026-01-05 15:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501540083 ms) 2026-01-05 15:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501540083 ms) 2026-01-05 15:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501540083 ms) 2026-01-05 15:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501540084 ms) 2026-01-05 15:33:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501541117 ms) 2026-01-05 15:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501541118 ms) 2026-01-05 15:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:33:40.710763+00:00', 'runtime': '501540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501541119 ms) 2026-01-05 15:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:32:40.710759+00:00', 'runtime': '501480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501541119 ms) 2026-01-05 15:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501560087 ms) 2026-01-05 15:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501560088 ms) 2026-01-05 15:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:33:40.710849+00:00'} (T+501560091 ms) 2026-01-05 15:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501600083 ms) 2026-01-05 15:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501600083 ms) 2026-01-05 15:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501600084 ms) 2026-01-05 15:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501600084 ms) 2026-01-05 15:34:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501601119 ms) 2026-01-05 15:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501601119 ms) 2026-01-05 15:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:34:40.710736+00:00', 'runtime': '501600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501601120 ms) 2026-01-05 15:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:33:40.710763+00:00', 'runtime': '501540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501601121 ms) 2026-01-05 15:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501620088 ms) 2026-01-05 15:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501620089 ms) 2026-01-05 15:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:34:40.710861+00:00'} (T+501620093 ms) 2026-01-05 15:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501660083 ms) 2026-01-05 15:35:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501660084 ms) 2026-01-05 15:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501660084 ms) 2026-01-05 15:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501660085 ms) 2026-01-05 15:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501661117 ms) 2026-01-05 15:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501661117 ms) 2026-01-05 15:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:35:40.710724+00:00', 'runtime': '501660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501661118 ms) 2026-01-05 15:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:34:40.710736+00:00', 'runtime': '501600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501661118 ms) 2026-01-05 15:36:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501680091 ms) 2026-01-05 15:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501680092 ms) 2026-01-05 15:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:35:40.713229+00:00'} (T+501680093 ms) 2026-01-05 15:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501720082 ms) 2026-01-05 15:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501720083 ms) 2026-01-05 15:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501720083 ms) 2026-01-05 15:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501720084 ms) 2026-01-05 15:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501721116 ms) 2026-01-05 15:36:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501721117 ms) 2026-01-05 15:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:36:40.710744+00:00', 'runtime': '501720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501721118 ms) 2026-01-05 15:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:35:40.710724+00:00', 'runtime': '501660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501721118 ms) 2026-01-05 15:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501740090 ms) 2026-01-05 15:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501740091 ms) 2026-01-05 15:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:36:40.710870+00:00'} (T+501740094 ms) 2026-01-05 15:37:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501780084 ms) 2026-01-05 15:37:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501780085 ms) 2026-01-05 15:37:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501780085 ms) 2026-01-05 15:37:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501780085 ms) 2026-01-05 15:37:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501781123 ms) 2026-01-05 15:37:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501781124 ms) 2026-01-05 15:37:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:37:40.713167+00:00', 'runtime': '501780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501781127 ms) 2026-01-05 15:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:36:40.710744+00:00', 'runtime': '501720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501781128 ms) 2026-01-05 15:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501800090 ms) 2026-01-05 15:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501800092 ms) 2026-01-05 15:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:37:40.710833+00:00'} (T+501800095 ms) 2026-01-05 15:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501840082 ms) 2026-01-05 15:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501840083 ms) 2026-01-05 15:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501840083 ms) 2026-01-05 15:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501840084 ms) 2026-01-05 15:38:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501841118 ms) 2026-01-05 15:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501841118 ms) 2026-01-05 15:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:38:40.710739+00:00', 'runtime': '501840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501841119 ms) 2026-01-05 15:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:37:40.713167+00:00', 'runtime': '501780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501841120 ms) 2026-01-05 15:39:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501860092 ms) 2026-01-05 15:39:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501860094 ms) 2026-01-05 15:39:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:38:40.713234+00:00'} (T+501860097 ms) 2026-01-05 15:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501900083 ms) 2026-01-05 15:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501900084 ms) 2026-01-05 15:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501900084 ms) 2026-01-05 15:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501900084 ms) 2026-01-05 15:39:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501901121 ms) 2026-01-05 15:39:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501901122 ms) 2026-01-05 15:39:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:39:40.710752+00:00', 'runtime': '501900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501901124 ms) 2026-01-05 15:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:38:40.710739+00:00', 'runtime': '501840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501901125 ms) 2026-01-05 15:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501920087 ms) 2026-01-05 15:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501920088 ms) 2026-01-05 15:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:39:40.710829+00:00'} (T+501920091 ms) 2026-01-05 15:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+501960083 ms) 2026-01-05 15:40:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+501960084 ms) 2026-01-05 15:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+501960084 ms) 2026-01-05 15:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+501960085 ms) 2026-01-05 15:40:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+501961124 ms) 2026-01-05 15:40:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+501961125 ms) 2026-01-05 15:40:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:40:40.710731+00:00', 'runtime': '501960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501961128 ms) 2026-01-05 15:40:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:39:40.710752+00:00', 'runtime': '501900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+501961128 ms) 2026-01-05 15:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501980090 ms) 2026-01-05 15:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+501980091 ms) 2026-01-05 15:41:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:40:40.710862+00:00'} (T+501980093 ms) 2026-01-05 15:41:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502020077 ms) 2026-01-05 15:41:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502020078 ms) 2026-01-05 15:41:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502020078 ms) 2026-01-05 15:41:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502020078 ms) 2026-01-05 15:41:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502021114 ms) 2026-01-05 15:41:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502021115 ms) 2026-01-05 15:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:41:40.710729+00:00', 'runtime': '502020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502021117 ms) 2026-01-05 15:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:40:40.710731+00:00', 'runtime': '501960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502021118 ms) 2026-01-05 15:42:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502040087 ms) 2026-01-05 15:42:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502040088 ms) 2026-01-05 15:42:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:41:40.710857+00:00'} (T+502040090 ms) 2026-01-05 15:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502080083 ms) 2026-01-05 15:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502080083 ms) 2026-01-05 15:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502080084 ms) 2026-01-05 15:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502080084 ms) 2026-01-05 15:42:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502081121 ms) 2026-01-05 15:42:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502081122 ms) 2026-01-05 15:42:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:42:40.710755+00:00', 'runtime': '502080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502081124 ms) 2026-01-05 15:42:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:41:40.710729+00:00', 'runtime': '502020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502081124 ms) 2026-01-05 15:43:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502100085 ms) 2026-01-05 15:43:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502100086 ms) 2026-01-05 15:43:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:42:40.710856+00:00'} (T+502100089 ms) 2026-01-05 15:43:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502140076 ms) 2026-01-05 15:43:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502140077 ms) 2026-01-05 15:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502140077 ms) 2026-01-05 15:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502140077 ms) 2026-01-05 15:43:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502141112 ms) 2026-01-05 15:43:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502141113 ms) 2026-01-05 15:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:43:40.710717+00:00', 'runtime': '502140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502141115 ms) 2026-01-05 15:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:42:40.710755+00:00', 'runtime': '502080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502141116 ms) 2026-01-05 15:44:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502160088 ms) 2026-01-05 15:44:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502160089 ms) 2026-01-05 15:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:43:40.710855+00:00'} (T+502160092 ms) 2026-01-05 15:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502200083 ms) 2026-01-05 15:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502200084 ms) 2026-01-05 15:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502200084 ms) 2026-01-05 15:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502200085 ms) 2026-01-05 15:44:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502201123 ms) 2026-01-05 15:44:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502201124 ms) 2026-01-05 15:44:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:44:40.710712+00:00', 'runtime': '502200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502201126 ms) 2026-01-05 15:44:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:43:40.710717+00:00', 'runtime': '502140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502201127 ms) 2026-01-05 15:45:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502220092 ms) 2026-01-05 15:45:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502220094 ms) 2026-01-05 15:45:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:44:40.713224+00:00'} (T+502220097 ms) 2026-01-05 15:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502260083 ms) 2026-01-05 15:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502260084 ms) 2026-01-05 15:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502260084 ms) 2026-01-05 15:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502260084 ms) 2026-01-05 15:45:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502261114 ms) 2026-01-05 15:45:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502261114 ms) 2026-01-05 15:45:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:45:40.710729+00:00', 'runtime': '502260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502261115 ms) 2026-01-05 15:45:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:44:40.710712+00:00', 'runtime': '502200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502261116 ms) 2026-01-05 15:46:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502280087 ms) 2026-01-05 15:46:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502280088 ms) 2026-01-05 15:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:45:40.710852+00:00'} (T+502280091 ms) 2026-01-05 15:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502320082 ms) 2026-01-05 15:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502320083 ms) 2026-01-05 15:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502320083 ms) 2026-01-05 15:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502320084 ms) 2026-01-05 15:46:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502321124 ms) 2026-01-05 15:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502321125 ms) 2026-01-05 15:46:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:46:40.710800+00:00', 'runtime': '502320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502321128 ms) 2026-01-05 15:46:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:45:40.710729+00:00', 'runtime': '502260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502321128 ms) 2026-01-05 15:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502340090 ms) 2026-01-05 15:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502340091 ms) 2026-01-05 15:47:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:46:40.710891+00:00'} (T+502340093 ms) 2026-01-05 15:47:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502380077 ms) 2026-01-05 15:47:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502380077 ms) 2026-01-05 15:47:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502380078 ms) 2026-01-05 15:47:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502380078 ms) 2026-01-05 15:47:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502381116 ms) 2026-01-05 15:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502381116 ms) 2026-01-05 15:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:47:40.710718+00:00', 'runtime': '502380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502381119 ms) 2026-01-05 15:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:46:40.710800+00:00', 'runtime': '502320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502381119 ms) 2026-01-05 15:48:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502400089 ms) 2026-01-05 15:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502400091 ms) 2026-01-05 15:48:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:47:40.713234+00:00'} (T+502400093 ms) 2026-01-05 15:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502440083 ms) 2026-01-05 15:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502440084 ms) 2026-01-05 15:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502440084 ms) 2026-01-05 15:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502440085 ms) 2026-01-05 15:48:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502441114 ms) 2026-01-05 15:48:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502441114 ms) 2026-01-05 15:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:48:40.710691+00:00', 'runtime': '502440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502441115 ms) 2026-01-05 15:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:47:40.710718+00:00', 'runtime': '502380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502441115 ms) 2026-01-05 15:49:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502460093 ms) 2026-01-05 15:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502460094 ms) 2026-01-05 15:49:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:48:40.713226+00:00'} (T+502460097 ms) 2026-01-05 15:49:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502500078 ms) 2026-01-05 15:49:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502500079 ms) 2026-01-05 15:49:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502500079 ms) 2026-01-05 15:49:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502500080 ms) 2026-01-05 15:49:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502501116 ms) 2026-01-05 15:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502501117 ms) 2026-01-05 15:49:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:49:40.710725+00:00', 'runtime': '502500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502501119 ms) 2026-01-05 15:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:48:40.710691+00:00', 'runtime': '502440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502501119 ms) 2026-01-05 15:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502520088 ms) 2026-01-05 15:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502520089 ms) 2026-01-05 15:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:49:40.710842+00:00'} (T+502520092 ms) 2026-01-05 15:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502560083 ms) 2026-01-05 15:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502560083 ms) 2026-01-05 15:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502560084 ms) 2026-01-05 15:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502560084 ms) 2026-01-05 15:50:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502561116 ms) 2026-01-05 15:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502561117 ms) 2026-01-05 15:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:50:40.710733+00:00', 'runtime': '502560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502561118 ms) 2026-01-05 15:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:49:40.710725+00:00', 'runtime': '502500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502561118 ms) 2026-01-05 15:51:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502580089 ms) 2026-01-05 15:51:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502580089 ms) 2026-01-05 15:51:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:50:40.710860+00:00'} (T+502580091 ms) 2026-01-05 15:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502620083 ms) 2026-01-05 15:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502620084 ms) 2026-01-05 15:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502620084 ms) 2026-01-05 15:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502620084 ms) 2026-01-05 15:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502621119 ms) 2026-01-05 15:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502621120 ms) 2026-01-05 15:51:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:51:40.710787+00:00', 'runtime': '502620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502621121 ms) 2026-01-05 15:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:50:40.710733+00:00', 'runtime': '502560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502621122 ms) 2026-01-05 15:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502640090 ms) 2026-01-05 15:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502640091 ms) 2026-01-05 15:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:51:40.710872+00:00'} (T+502640094 ms) 2026-01-05 15:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502680082 ms) 2026-01-05 15:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502680083 ms) 2026-01-05 15:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502680083 ms) 2026-01-05 15:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502680083 ms) 2026-01-05 15:52:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502681115 ms) 2026-01-05 15:52:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502681115 ms) 2026-01-05 15:52:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:52:40.710719+00:00', 'runtime': '502680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502681116 ms) 2026-01-05 15:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:51:40.710787+00:00', 'runtime': '502620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502681117 ms) 2026-01-05 15:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502700087 ms) 2026-01-05 15:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502700088 ms) 2026-01-05 15:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:52:40.710868+00:00'} (T+502700091 ms) 2026-01-05 15:53:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502740083 ms) 2026-01-05 15:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502740083 ms) 2026-01-05 15:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502740084 ms) 2026-01-05 15:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502740084 ms) 2026-01-05 15:53:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502741124 ms) 2026-01-05 15:53:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502741125 ms) 2026-01-05 15:53:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:53:40.710765+00:00', 'runtime': '502740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502741127 ms) 2026-01-05 15:53:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:52:40.710719+00:00', 'runtime': '502680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502741128 ms) 2026-01-05 15:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502760087 ms) 2026-01-05 15:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502760088 ms) 2026-01-05 15:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:53:40.710852+00:00'} (T+502760091 ms) 2026-01-05 15:54:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502800084 ms) 2026-01-05 15:54:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502800085 ms) 2026-01-05 15:54:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502800085 ms) 2026-01-05 15:54:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502800085 ms) 2026-01-05 15:54:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502801113 ms) 2026-01-05 15:54:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502801113 ms) 2026-01-05 15:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:54:40.713179+00:00', 'runtime': '502800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502801114 ms) 2026-01-05 15:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:53:40.710765+00:00', 'runtime': '502740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502801115 ms) 2026-01-05 15:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502820090 ms) 2026-01-05 15:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502820091 ms) 2026-01-05 15:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:54:40.710799+00:00'} (T+502820094 ms) 2026-01-05 15:55:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502860079 ms) 2026-01-05 15:55:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502860079 ms) 2026-01-05 15:55:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502860079 ms) 2026-01-05 15:55:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502860079 ms) 2026-01-05 15:55:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502861116 ms) 2026-01-05 15:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502861117 ms) 2026-01-05 15:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:55:40.710784+00:00', 'runtime': '502860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502861119 ms) 2026-01-05 15:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:54:40.713179+00:00', 'runtime': '502800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502861120 ms) 2026-01-05 15:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502880087 ms) 2026-01-05 15:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502880088 ms) 2026-01-05 15:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:55:40.710867+00:00'} (T+502880091 ms) 2026-01-05 15:56:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502920086 ms) 2026-01-05 15:56:40.766 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502920087 ms) 2026-01-05 15:56:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502920087 ms) 2026-01-05 15:56:40.767 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502920088 ms) 2026-01-05 15:56:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502921120 ms) 2026-01-05 15:56:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502921121 ms) 2026-01-05 15:56:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:56:40.713179+00:00', 'runtime': '502920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502921122 ms) 2026-01-05 15:56:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:55:40.710784+00:00', 'runtime': '502860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502921122 ms) 2026-01-05 15:57:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502940089 ms) 2026-01-05 15:57:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+502940090 ms) 2026-01-05 15:57:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:56:40.710837+00:00'} (T+502940093 ms) 2026-01-05 15:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+502980082 ms) 2026-01-05 15:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+502980083 ms) 2026-01-05 15:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+502980083 ms) 2026-01-05 15:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+502980084 ms) 2026-01-05 15:57:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+502981119 ms) 2026-01-05 15:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+502981119 ms) 2026-01-05 15:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:57:40.710716+00:00', 'runtime': '502980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502981120 ms) 2026-01-05 15:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:56:40.713179+00:00', 'runtime': '502920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+502981120 ms) 2026-01-05 15:58:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503000091 ms) 2026-01-05 15:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503000092 ms) 2026-01-05 15:58:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:57:40.710807+00:00'} (T+503000095 ms) 2026-01-05 15:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503040083 ms) 2026-01-05 15:58:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503040084 ms) 2026-01-05 15:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503040084 ms) 2026-01-05 15:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503040085 ms) 2026-01-05 15:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503041119 ms) 2026-01-05 15:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503041119 ms) 2026-01-05 15:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:58:40.710736+00:00', 'runtime': '503040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503041120 ms) 2026-01-05 15:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:57:40.710716+00:00', 'runtime': '502980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503041121 ms) 2026-01-05 15:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503060087 ms) 2026-01-05 15:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503060088 ms) 2026-01-05 15:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:58:40.710845+00:00'} (T+503060091 ms) 2026-01-05 15:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503100082 ms) 2026-01-05 15:59:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503100083 ms) 2026-01-05 15:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503100083 ms) 2026-01-05 15:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503100083 ms) 2026-01-05 15:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503101116 ms) 2026-01-05 15:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503101116 ms) 2026-01-05 15:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 15:59:40.710741+00:00', 'runtime': '503100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503101117 ms) 2026-01-05 15:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:58:40.710736+00:00', 'runtime': '503040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503101118 ms) 2026-01-05 16:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503120090 ms) 2026-01-05 16:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503120091 ms) 2026-01-05 16:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 15:59:40.710851+00:00'} (T+503120093 ms) 2026-01-05 16:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503160082 ms) 2026-01-05 16:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503160083 ms) 2026-01-05 16:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503160083 ms) 2026-01-05 16:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503160084 ms) 2026-01-05 16:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503161123 ms) 2026-01-05 16:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503161124 ms) 2026-01-05 16:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:00:40.710799+00:00', 'runtime': '503160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503161127 ms) 2026-01-05 16:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 15:59:40.710741+00:00', 'runtime': '503100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503161127 ms) 2026-01-05 16:01:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503180089 ms) 2026-01-05 16:01:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503180090 ms) 2026-01-05 16:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:00:40.710870+00:00'} (T+503180091 ms) 2026-01-05 16:01:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503220078 ms) 2026-01-05 16:01:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503220079 ms) 2026-01-05 16:01:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503220079 ms) 2026-01-05 16:01:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503220079 ms) 2026-01-05 16:01:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503221114 ms) 2026-01-05 16:01:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503221115 ms) 2026-01-05 16:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:01:40.710728+00:00', 'runtime': '503220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503221119 ms) 2026-01-05 16:01:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:00:40.710799+00:00', 'runtime': '503160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503221119 ms) 2026-01-05 16:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503240091 ms) 2026-01-05 16:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503240092 ms) 2026-01-05 16:02:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:01:40.710827+00:00'} (T+503240095 ms) 2026-01-05 16:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503280083 ms) 2026-01-05 16:02:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503280084 ms) 2026-01-05 16:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503280084 ms) 2026-01-05 16:02:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503280085 ms) 2026-01-05 16:02:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503281117 ms) 2026-01-05 16:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503281117 ms) 2026-01-05 16:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:02:40.710731+00:00', 'runtime': '503280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503281118 ms) 2026-01-05 16:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:01:40.710728+00:00', 'runtime': '503220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503281119 ms) 2026-01-05 16:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503300090 ms) 2026-01-05 16:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503300091 ms) 2026-01-05 16:03:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:02:40.710822+00:00'} (T+503300094 ms) 2026-01-05 16:03:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503340078 ms) 2026-01-05 16:03:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503340078 ms) 2026-01-05 16:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503340079 ms) 2026-01-05 16:03:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503340079 ms) 2026-01-05 16:03:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503341114 ms) 2026-01-05 16:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503341115 ms) 2026-01-05 16:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:03:40.710718+00:00', 'runtime': '503340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503341119 ms) 2026-01-05 16:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:02:40.710731+00:00', 'runtime': '503280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503341119 ms) 2026-01-05 16:04:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503360089 ms) 2026-01-05 16:04:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503360090 ms) 2026-01-05 16:04:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:03:40.710839+00:00'} (T+503360093 ms) 2026-01-05 16:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503400083 ms) 2026-01-05 16:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503400083 ms) 2026-01-05 16:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503400084 ms) 2026-01-05 16:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503400084 ms) 2026-01-05 16:04:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503401122 ms) 2026-01-05 16:04:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503401123 ms) 2026-01-05 16:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:04:40.710722+00:00', 'runtime': '503400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503401125 ms) 2026-01-05 16:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:03:40.710718+00:00', 'runtime': '503340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503401126 ms) 2026-01-05 16:05:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503420092 ms) 2026-01-05 16:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503420094 ms) 2026-01-05 16:05:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:04:40.713239+00:00'} (T+503420097 ms) 2026-01-05 16:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503460083 ms) 2026-01-05 16:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503460084 ms) 2026-01-05 16:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503460084 ms) 2026-01-05 16:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503460084 ms) 2026-01-05 16:05:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503461119 ms) 2026-01-05 16:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503461119 ms) 2026-01-05 16:05:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:05:40.710742+00:00', 'runtime': '503460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503461120 ms) 2026-01-05 16:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:04:40.710722+00:00', 'runtime': '503400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503461121 ms) 2026-01-05 16:06:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503480091 ms) 2026-01-05 16:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503480091 ms) 2026-01-05 16:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:05:40.713243+00:00'} (T+503480093 ms) 2026-01-05 16:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503520083 ms) 2026-01-05 16:06:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503520084 ms) 2026-01-05 16:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503520084 ms) 2026-01-05 16:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503520085 ms) 2026-01-05 16:06:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503521119 ms) 2026-01-05 16:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503521119 ms) 2026-01-05 16:06:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:06:40.710751+00:00', 'runtime': '503520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503521120 ms) 2026-01-05 16:06:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:05:40.710742+00:00', 'runtime': '503460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503521120 ms) 2026-01-05 16:07:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503540092 ms) 2026-01-05 16:07:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503540093 ms) 2026-01-05 16:07:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:06:40.713238+00:00'} (T+503540096 ms) 2026-01-05 16:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503580083 ms) 2026-01-05 16:07:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503580084 ms) 2026-01-05 16:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503580084 ms) 2026-01-05 16:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503580085 ms) 2026-01-05 16:07:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503581114 ms) 2026-01-05 16:07:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503581114 ms) 2026-01-05 16:07:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:07:40.710719+00:00', 'runtime': '503580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503581115 ms) 2026-01-05 16:07:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:06:40.710751+00:00', 'runtime': '503520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503581116 ms) 2026-01-05 16:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503600091 ms) 2026-01-05 16:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503600091 ms) 2026-01-05 16:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:07:40.713220+00:00'} (T+503600092 ms) 2026-01-05 16:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503640082 ms) 2026-01-05 16:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503640083 ms) 2026-01-05 16:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503640083 ms) 2026-01-05 16:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503640084 ms) 2026-01-05 16:08:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503641123 ms) 2026-01-05 16:08:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503641124 ms) 2026-01-05 16:08:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:08:40.710781+00:00', 'runtime': '503640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503641125 ms) 2026-01-05 16:08:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:07:40.710719+00:00', 'runtime': '503580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503641129 ms) 2026-01-05 16:09:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503660085 ms) 2026-01-05 16:09:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503660086 ms) 2026-01-05 16:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:08:40.710867+00:00'} (T+503660088 ms) 2026-01-05 16:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503700083 ms) 2026-01-05 16:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503700083 ms) 2026-01-05 16:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503700084 ms) 2026-01-05 16:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503700084 ms) 2026-01-05 16:09:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503701116 ms) 2026-01-05 16:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503701117 ms) 2026-01-05 16:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:09:40.710758+00:00', 'runtime': '503700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503701118 ms) 2026-01-05 16:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:08:40.710781+00:00', 'runtime': '503640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503701118 ms) 2026-01-05 16:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503720090 ms) 2026-01-05 16:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503720091 ms) 2026-01-05 16:10:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:09:40.710845+00:00'} (T+503720093 ms) 2026-01-05 16:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503760084 ms) 2026-01-05 16:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503760084 ms) 2026-01-05 16:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503760084 ms) 2026-01-05 16:10:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503760085 ms) 2026-01-05 16:10:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503761119 ms) 2026-01-05 16:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503761119 ms) 2026-01-05 16:10:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:10:40.710777+00:00', 'runtime': '503760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503761121 ms) 2026-01-05 16:10:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:09:40.710758+00:00', 'runtime': '503700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503761122 ms) 2026-01-05 16:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503780090 ms) 2026-01-05 16:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503780091 ms) 2026-01-05 16:11:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:10:40.710864+00:00'} (T+503780096 ms) 2026-01-05 16:11:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503820077 ms) 2026-01-05 16:11:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503820077 ms) 2026-01-05 16:11:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503820078 ms) 2026-01-05 16:11:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503820078 ms) 2026-01-05 16:11:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503821112 ms) 2026-01-05 16:11:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503821113 ms) 2026-01-05 16:11:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:11:40.710700+00:00', 'runtime': '503820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503821115 ms) 2026-01-05 16:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:10:40.710777+00:00', 'runtime': '503760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503821115 ms) 2026-01-05 16:12:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503840089 ms) 2026-01-05 16:12:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503840090 ms) 2026-01-05 16:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:11:40.710825+00:00'} (T+503840092 ms) 2026-01-05 16:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503880082 ms) 2026-01-05 16:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503880083 ms) 2026-01-05 16:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503880083 ms) 2026-01-05 16:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503880084 ms) 2026-01-05 16:12:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503881121 ms) 2026-01-05 16:12:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503881122 ms) 2026-01-05 16:12:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:12:40.710737+00:00', 'runtime': '503880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503881124 ms) 2026-01-05 16:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:11:40.710700+00:00', 'runtime': '503820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503881125 ms) 2026-01-05 16:13:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503900091 ms) 2026-01-05 16:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503900092 ms) 2026-01-05 16:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:12:40.710861+00:00'} (T+503900094 ms) 2026-01-05 16:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+503940082 ms) 2026-01-05 16:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+503940083 ms) 2026-01-05 16:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+503940083 ms) 2026-01-05 16:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+503940084 ms) 2026-01-05 16:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+503941116 ms) 2026-01-05 16:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+503941117 ms) 2026-01-05 16:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:13:40.710730+00:00', 'runtime': '503940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503941118 ms) 2026-01-05 16:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:12:40.710737+00:00', 'runtime': '503880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+503941118 ms) 2026-01-05 16:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503960090 ms) 2026-01-05 16:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+503960091 ms) 2026-01-05 16:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:13:40.710861+00:00'} (T+503960094 ms) 2026-01-05 16:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504000083 ms) 2026-01-05 16:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504000083 ms) 2026-01-05 16:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504000084 ms) 2026-01-05 16:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504000084 ms) 2026-01-05 16:14:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504001123 ms) 2026-01-05 16:14:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504001124 ms) 2026-01-05 16:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:14:40.710849+00:00', 'runtime': '504000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504001126 ms) 2026-01-05 16:14:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:13:40.710730+00:00', 'runtime': '503940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504001127 ms) 2026-01-05 16:15:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504020091 ms) 2026-01-05 16:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504020092 ms) 2026-01-05 16:15:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:14:40.710889+00:00'} (T+504020095 ms) 2026-01-05 16:15:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504060076 ms) 2026-01-05 16:15:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504060076 ms) 2026-01-05 16:15:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504060077 ms) 2026-01-05 16:15:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504060077 ms) 2026-01-05 16:15:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504061113 ms) 2026-01-05 16:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504061114 ms) 2026-01-05 16:15:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:15:40.710732+00:00', 'runtime': '504060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504061116 ms) 2026-01-05 16:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:14:40.710849+00:00', 'runtime': '504000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504061117 ms) 2026-01-05 16:16:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504080088 ms) 2026-01-05 16:16:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504080089 ms) 2026-01-05 16:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:15:40.710856+00:00'} (T+504080092 ms) 2026-01-05 16:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504120082 ms) 2026-01-05 16:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504120083 ms) 2026-01-05 16:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504120083 ms) 2026-01-05 16:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504120084 ms) 2026-01-05 16:16:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504121121 ms) 2026-01-05 16:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504121121 ms) 2026-01-05 16:16:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:16:40.710738+00:00', 'runtime': '504120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504121122 ms) 2026-01-05 16:16:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:15:40.710732+00:00', 'runtime': '504060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504121122 ms) 2026-01-05 16:17:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504140092 ms) 2026-01-05 16:17:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504140094 ms) 2026-01-05 16:17:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:16:40.713237+00:00'} (T+504140097 ms) 2026-01-05 16:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504180082 ms) 2026-01-05 16:17:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504180083 ms) 2026-01-05 16:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504180083 ms) 2026-01-05 16:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504180083 ms) 2026-01-05 16:17:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504181121 ms) 2026-01-05 16:17:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504181122 ms) 2026-01-05 16:17:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:17:40.710755+00:00', 'runtime': '504180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504181124 ms) 2026-01-05 16:17:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:16:40.710738+00:00', 'runtime': '504120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504181125 ms) 2026-01-05 16:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504200090 ms) 2026-01-05 16:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504200091 ms) 2026-01-05 16:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:17:40.710866+00:00'} (T+504200094 ms) 2026-01-05 16:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504240082 ms) 2026-01-05 16:18:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504240082 ms) 2026-01-05 16:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504240083 ms) 2026-01-05 16:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504240083 ms) 2026-01-05 16:18:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504241115 ms) 2026-01-05 16:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504241116 ms) 2026-01-05 16:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:18:40.710744+00:00', 'runtime': '504240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504241117 ms) 2026-01-05 16:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:17:40.710755+00:00', 'runtime': '504180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504241117 ms) 2026-01-05 16:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504260090 ms) 2026-01-05 16:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504260091 ms) 2026-01-05 16:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:18:40.710868+00:00'} (T+504260094 ms) 2026-01-05 16:19:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504300078 ms) 2026-01-05 16:19:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504300079 ms) 2026-01-05 16:19:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504300079 ms) 2026-01-05 16:19:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504300079 ms) 2026-01-05 16:19:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504301114 ms) 2026-01-05 16:19:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504301115 ms) 2026-01-05 16:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:19:40.710759+00:00', 'runtime': '504300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504301117 ms) 2026-01-05 16:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:18:40.710744+00:00', 'runtime': '504240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504301117 ms) 2026-01-05 16:20:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504320092 ms) 2026-01-05 16:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504320093 ms) 2026-01-05 16:20:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:19:40.710869+00:00'} (T+504320096 ms) 2026-01-05 16:20:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504360085 ms) 2026-01-05 16:20:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504360086 ms) 2026-01-05 16:20:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504360086 ms) 2026-01-05 16:20:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504360086 ms) 2026-01-05 16:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504361120 ms) 2026-01-05 16:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504361120 ms) 2026-01-05 16:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:20:40.713161+00:00', 'runtime': '504360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504361121 ms) 2026-01-05 16:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:19:40.710759+00:00', 'runtime': '504300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504361122 ms) 2026-01-05 16:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504380090 ms) 2026-01-05 16:21:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504380091 ms) 2026-01-05 16:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:20:40.710813+00:00'} (T+504380091 ms) 2026-01-05 16:21:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504420076 ms) 2026-01-05 16:21:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504420076 ms) 2026-01-05 16:21:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504420077 ms) 2026-01-05 16:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504420077 ms) 2026-01-05 16:21:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504421111 ms) 2026-01-05 16:21:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504421112 ms) 2026-01-05 16:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:21:40.710705+00:00', 'runtime': '504420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504421115 ms) 2026-01-05 16:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:20:40.713161+00:00', 'runtime': '504360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504421116 ms) 2026-01-05 16:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504440088 ms) 2026-01-05 16:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504440089 ms) 2026-01-05 16:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:21:40.710860+00:00'} (T+504440092 ms) 2026-01-05 16:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504480082 ms) 2026-01-05 16:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504480083 ms) 2026-01-05 16:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504480083 ms) 2026-01-05 16:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504480084 ms) 2026-01-05 16:22:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504481121 ms) 2026-01-05 16:22:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504481122 ms) 2026-01-05 16:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:22:40.710781+00:00', 'runtime': '504480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504481125 ms) 2026-01-05 16:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:21:40.710705+00:00', 'runtime': '504420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504481126 ms) 2026-01-05 16:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504500090 ms) 2026-01-05 16:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504500091 ms) 2026-01-05 16:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:22:40.710860+00:00'} (T+504500094 ms) 2026-01-05 16:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504540083 ms) 2026-01-05 16:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504540083 ms) 2026-01-05 16:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504540083 ms) 2026-01-05 16:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504540084 ms) 2026-01-05 16:23:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504541119 ms) 2026-01-05 16:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504541119 ms) 2026-01-05 16:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:23:40.710762+00:00', 'runtime': '504540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504541120 ms) 2026-01-05 16:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:22:40.710781+00:00', 'runtime': '504480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504541121 ms) 2026-01-05 16:24:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504560091 ms) 2026-01-05 16:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504560092 ms) 2026-01-05 16:24:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:23:40.710849+00:00'} (T+504560095 ms) 2026-01-05 16:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504600083 ms) 2026-01-05 16:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504600083 ms) 2026-01-05 16:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504600084 ms) 2026-01-05 16:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504600084 ms) 2026-01-05 16:24:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504601113 ms) 2026-01-05 16:24:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504601113 ms) 2026-01-05 16:24:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:24:40.710740+00:00', 'runtime': '504600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504601114 ms) 2026-01-05 16:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:23:40.710762+00:00', 'runtime': '504540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504601115 ms) 2026-01-05 16:25:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504620087 ms) 2026-01-05 16:25:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504620088 ms) 2026-01-05 16:25:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:24:40.710848+00:00'} (T+504620090 ms) 2026-01-05 16:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504660083 ms) 2026-01-05 16:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504660083 ms) 2026-01-05 16:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504660084 ms) 2026-01-05 16:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504660084 ms) 2026-01-05 16:25:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504661116 ms) 2026-01-05 16:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504661117 ms) 2026-01-05 16:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:25:40.710725+00:00', 'runtime': '504660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504661118 ms) 2026-01-05 16:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:24:40.710740+00:00', 'runtime': '504600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504661118 ms) 2026-01-05 16:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504680088 ms) 2026-01-05 16:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504680089 ms) 2026-01-05 16:26:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:25:40.710824+00:00'} (T+504680090 ms) 2026-01-05 16:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504720083 ms) 2026-01-05 16:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504720083 ms) 2026-01-05 16:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504720084 ms) 2026-01-05 16:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504720084 ms) 2026-01-05 16:26:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504721113 ms) 2026-01-05 16:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504721114 ms) 2026-01-05 16:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:26:40.710757+00:00', 'runtime': '504720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504721115 ms) 2026-01-05 16:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:25:40.710725+00:00', 'runtime': '504660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504721115 ms) 2026-01-05 16:27:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504740088 ms) 2026-01-05 16:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504740089 ms) 2026-01-05 16:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:26:40.710866+00:00'} (T+504740092 ms) 2026-01-05 16:27:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504780084 ms) 2026-01-05 16:27:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504780085 ms) 2026-01-05 16:27:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504780085 ms) 2026-01-05 16:27:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504780086 ms) 2026-01-05 16:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504781119 ms) 2026-01-05 16:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504781119 ms) 2026-01-05 16:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:27:40.713186+00:00', 'runtime': '504780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504781120 ms) 2026-01-05 16:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:26:40.710757+00:00', 'runtime': '504720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504781121 ms) 2026-01-05 16:28:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504800091 ms) 2026-01-05 16:28:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504800092 ms) 2026-01-05 16:28:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:27:40.710848+00:00'} (T+504800095 ms) 2026-01-05 16:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504840083 ms) 2026-01-05 16:28:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504840084 ms) 2026-01-05 16:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504840084 ms) 2026-01-05 16:28:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504840085 ms) 2026-01-05 16:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504841119 ms) 2026-01-05 16:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504841120 ms) 2026-01-05 16:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:28:40.710798+00:00', 'runtime': '504840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504841121 ms) 2026-01-05 16:28:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:27:40.713186+00:00', 'runtime': '504780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504841122 ms) 2026-01-05 16:29:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504860087 ms) 2026-01-05 16:29:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504860088 ms) 2026-01-05 16:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:28:40.710876+00:00'} (T+504860091 ms) 2026-01-05 16:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504900082 ms) 2026-01-05 16:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504900083 ms) 2026-01-05 16:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504900083 ms) 2026-01-05 16:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504900084 ms) 2026-01-05 16:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504901116 ms) 2026-01-05 16:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504901117 ms) 2026-01-05 16:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:29:40.710726+00:00', 'runtime': '504900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504901118 ms) 2026-01-05 16:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:28:40.710798+00:00', 'runtime': '504840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504901118 ms) 2026-01-05 16:30:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504920089 ms) 2026-01-05 16:30:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504920090 ms) 2026-01-05 16:30:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:29:40.710856+00:00'} (T+504920093 ms) 2026-01-05 16:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+504960083 ms) 2026-01-05 16:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+504960083 ms) 2026-01-05 16:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+504960084 ms) 2026-01-05 16:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+504960084 ms) 2026-01-05 16:30:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+504961114 ms) 2026-01-05 16:30:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+504961115 ms) 2026-01-05 16:30:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:30:40.710726+00:00', 'runtime': '504960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504961116 ms) 2026-01-05 16:30:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:29:40.710726+00:00', 'runtime': '504900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+504961116 ms) 2026-01-05 16:31:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504980086 ms) 2026-01-05 16:31:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+504980086 ms) 2026-01-05 16:31:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:30:40.710835+00:00'} (T+504980088 ms) 2026-01-05 16:31:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505020077 ms) 2026-01-05 16:31:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505020077 ms) 2026-01-05 16:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505020077 ms) 2026-01-05 16:31:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505020078 ms) 2026-01-05 16:31:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505021113 ms) 2026-01-05 16:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505021114 ms) 2026-01-05 16:31:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:31:40.710743+00:00', 'runtime': '505020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505021116 ms) 2026-01-05 16:31:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:30:40.710726+00:00', 'runtime': '504960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505021117 ms) 2026-01-05 16:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505040090 ms) 2026-01-05 16:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505040091 ms) 2026-01-05 16:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:31:40.713232+00:00'} (T+505040094 ms) 2026-01-05 16:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505080082 ms) 2026-01-05 16:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505080083 ms) 2026-01-05 16:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505080083 ms) 2026-01-05 16:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505080084 ms) 2026-01-05 16:32:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505081118 ms) 2026-01-05 16:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505081118 ms) 2026-01-05 16:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:32:40.710742+00:00', 'runtime': '505080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505081119 ms) 2026-01-05 16:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:31:40.710743+00:00', 'runtime': '505020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505081120 ms) 2026-01-05 16:33:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505100091 ms) 2026-01-05 16:33:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505100092 ms) 2026-01-05 16:33:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:32:40.713227+00:00'} (T+505100095 ms) 2026-01-05 16:33:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505140075 ms) 2026-01-05 16:33:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505140076 ms) 2026-01-05 16:33:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505140076 ms) 2026-01-05 16:33:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505140076 ms) 2026-01-05 16:33:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505141112 ms) 2026-01-05 16:33:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505141113 ms) 2026-01-05 16:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:33:40.710753+00:00', 'runtime': '505140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505141115 ms) 2026-01-05 16:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:32:40.710742+00:00', 'runtime': '505080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505141116 ms) 2026-01-05 16:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505160089 ms) 2026-01-05 16:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505160090 ms) 2026-01-05 16:34:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:33:40.710850+00:00'} (T+505160093 ms) 2026-01-05 16:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505200083 ms) 2026-01-05 16:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505200084 ms) 2026-01-05 16:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505200084 ms) 2026-01-05 16:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505200085 ms) 2026-01-05 16:34:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505201124 ms) 2026-01-05 16:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505201125 ms) 2026-01-05 16:34:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:34:40.710725+00:00', 'runtime': '505200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505201127 ms) 2026-01-05 16:34:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:33:40.710753+00:00', 'runtime': '505140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505201128 ms) 2026-01-05 16:35:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505220089 ms) 2026-01-05 16:35:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505220090 ms) 2026-01-05 16:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:34:40.710831+00:00'} (T+505220093 ms) 2026-01-05 16:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505260083 ms) 2026-01-05 16:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505260083 ms) 2026-01-05 16:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505260083 ms) 2026-01-05 16:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505260084 ms) 2026-01-05 16:35:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505261118 ms) 2026-01-05 16:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505261119 ms) 2026-01-05 16:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:35:40.710723+00:00', 'runtime': '505260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505261120 ms) 2026-01-05 16:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:34:40.710725+00:00', 'runtime': '505200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505261120 ms) 2026-01-05 16:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505280088 ms) 2026-01-05 16:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505280089 ms) 2026-01-05 16:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:35:40.710861+00:00'} (T+505280090 ms) 2026-01-05 16:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505320083 ms) 2026-01-05 16:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505320084 ms) 2026-01-05 16:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505320084 ms) 2026-01-05 16:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505320084 ms) 2026-01-05 16:36:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505321124 ms) 2026-01-05 16:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505321125 ms) 2026-01-05 16:36:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:36:40.710782+00:00', 'runtime': '505320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505321127 ms) 2026-01-05 16:36:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:35:40.710723+00:00', 'runtime': '505260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505321128 ms) 2026-01-05 16:37:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505340091 ms) 2026-01-05 16:37:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505340092 ms) 2026-01-05 16:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:36:40.710865+00:00'} (T+505340095 ms) 2026-01-05 16:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505380083 ms) 2026-01-05 16:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505380083 ms) 2026-01-05 16:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505380083 ms) 2026-01-05 16:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505380084 ms) 2026-01-05 16:37:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505381122 ms) 2026-01-05 16:37:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505381123 ms) 2026-01-05 16:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:37:40.710744+00:00', 'runtime': '505380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505381127 ms) 2026-01-05 16:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:36:40.710782+00:00', 'runtime': '505320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505381127 ms) 2026-01-05 16:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505400087 ms) 2026-01-05 16:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505400088 ms) 2026-01-05 16:38:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:37:40.710843+00:00'} (T+505400090 ms) 2026-01-05 16:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505440083 ms) 2026-01-05 16:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505440083 ms) 2026-01-05 16:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505440084 ms) 2026-01-05 16:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505440084 ms) 2026-01-05 16:38:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505441118 ms) 2026-01-05 16:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505441119 ms) 2026-01-05 16:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:38:40.710725+00:00', 'runtime': '505440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505441120 ms) 2026-01-05 16:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:37:40.710744+00:00', 'runtime': '505380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505441120 ms) 2026-01-05 16:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505460088 ms) 2026-01-05 16:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505460089 ms) 2026-01-05 16:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:38:40.710856+00:00'} (T+505460092 ms) 2026-01-05 16:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505500082 ms) 2026-01-05 16:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505500083 ms) 2026-01-05 16:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505500083 ms) 2026-01-05 16:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505500083 ms) 2026-01-05 16:39:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505501121 ms) 2026-01-05 16:39:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505501122 ms) 2026-01-05 16:39:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:39:40.710731+00:00', 'runtime': '505500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505501125 ms) 2026-01-05 16:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:38:40.710725+00:00', 'runtime': '505440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505501125 ms) 2026-01-05 16:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505520087 ms) 2026-01-05 16:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505520088 ms) 2026-01-05 16:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:39:40.710829+00:00'} (T+505520091 ms) 2026-01-05 16:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505560082 ms) 2026-01-05 16:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505560083 ms) 2026-01-05 16:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505560083 ms) 2026-01-05 16:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505560084 ms) 2026-01-05 16:40:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505561123 ms) 2026-01-05 16:40:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505561124 ms) 2026-01-05 16:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:40:40.710728+00:00', 'runtime': '505560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505561126 ms) 2026-01-05 16:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:39:40.710731+00:00', 'runtime': '505500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505561127 ms) 2026-01-05 16:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505580090 ms) 2026-01-05 16:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505580092 ms) 2026-01-05 16:41:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:40:40.710855+00:00'} (T+505580095 ms) 2026-01-05 16:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505620082 ms) 2026-01-05 16:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505620083 ms) 2026-01-05 16:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505620083 ms) 2026-01-05 16:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505620084 ms) 2026-01-05 16:41:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505621121 ms) 2026-01-05 16:41:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505621122 ms) 2026-01-05 16:41:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:41:40.710791+00:00', 'runtime': '505620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505621124 ms) 2026-01-05 16:41:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:40:40.710728+00:00', 'runtime': '505560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505621124 ms) 2026-01-05 16:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505640088 ms) 2026-01-05 16:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505640089 ms) 2026-01-05 16:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:41:40.710855+00:00'} (T+505640092 ms) 2026-01-05 16:42:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505680082 ms) 2026-01-05 16:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505680083 ms) 2026-01-05 16:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505680083 ms) 2026-01-05 16:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505680084 ms) 2026-01-05 16:42:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505681121 ms) 2026-01-05 16:42:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505681122 ms) 2026-01-05 16:42:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:42:40.710796+00:00', 'runtime': '505680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505681124 ms) 2026-01-05 16:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:41:40.710791+00:00', 'runtime': '505620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505681125 ms) 2026-01-05 16:43:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505700088 ms) 2026-01-05 16:43:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505700089 ms) 2026-01-05 16:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:42:40.710882+00:00'} (T+505700092 ms) 2026-01-05 16:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505740083 ms) 2026-01-05 16:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505740084 ms) 2026-01-05 16:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505740084 ms) 2026-01-05 16:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505740085 ms) 2026-01-05 16:43:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505741124 ms) 2026-01-05 16:43:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505741125 ms) 2026-01-05 16:43:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:43:40.710752+00:00', 'runtime': '505740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505741127 ms) 2026-01-05 16:43:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:42:40.710796+00:00', 'runtime': '505680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505741128 ms) 2026-01-05 16:44:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505760084 ms) 2026-01-05 16:44:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505760085 ms) 2026-01-05 16:44:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:43:40.710851+00:00'} (T+505760087 ms) 2026-01-05 16:44:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505800075 ms) 2026-01-05 16:44:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505800076 ms) 2026-01-05 16:44:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505800076 ms) 2026-01-05 16:44:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505800076 ms) 2026-01-05 16:44:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505801112 ms) 2026-01-05 16:44:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505801113 ms) 2026-01-05 16:44:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:44:40.710684+00:00', 'runtime': '505800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505801115 ms) 2026-01-05 16:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:43:40.710752+00:00', 'runtime': '505740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505801116 ms) 2026-01-05 16:45:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505820087 ms) 2026-01-05 16:45:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505820088 ms) 2026-01-05 16:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:44:40.710868+00:00'} (T+505820091 ms) 2026-01-05 16:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505860082 ms) 2026-01-05 16:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505860083 ms) 2026-01-05 16:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505860083 ms) 2026-01-05 16:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505860084 ms) 2026-01-05 16:45:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505861112 ms) 2026-01-05 16:45:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505861113 ms) 2026-01-05 16:45:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:45:40.710742+00:00', 'runtime': '505860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505861114 ms) 2026-01-05 16:45:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:44:40.710684+00:00', 'runtime': '505800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505861114 ms) 2026-01-05 16:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505880090 ms) 2026-01-05 16:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505880091 ms) 2026-01-05 16:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:45:40.710828+00:00'} (T+505880094 ms) 2026-01-05 16:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505920083 ms) 2026-01-05 16:46:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505920084 ms) 2026-01-05 16:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505920084 ms) 2026-01-05 16:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505920084 ms) 2026-01-05 16:46:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505921122 ms) 2026-01-05 16:46:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505921123 ms) 2026-01-05 16:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:46:40.710798+00:00', 'runtime': '505920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505921125 ms) 2026-01-05 16:46:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:45:40.710742+00:00', 'runtime': '505860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505921126 ms) 2026-01-05 16:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505940087 ms) 2026-01-05 16:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+505940088 ms) 2026-01-05 16:47:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:46:40.710871+00:00'} (T+505940090 ms) 2026-01-05 16:47:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+505980076 ms) 2026-01-05 16:47:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+505980077 ms) 2026-01-05 16:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+505980077 ms) 2026-01-05 16:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+505980077 ms) 2026-01-05 16:47:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+505981112 ms) 2026-01-05 16:47:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+505981113 ms) 2026-01-05 16:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:47:40.710784+00:00', 'runtime': '505980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505981115 ms) 2026-01-05 16:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:46:40.710798+00:00', 'runtime': '505920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+505981116 ms) 2026-01-05 16:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506000087 ms) 2026-01-05 16:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506000089 ms) 2026-01-05 16:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:47:40.713227+00:00'} (T+506000092 ms) 2026-01-05 16:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506040083 ms) 2026-01-05 16:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506040084 ms) 2026-01-05 16:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506040084 ms) 2026-01-05 16:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506040084 ms) 2026-01-05 16:48:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506041122 ms) 2026-01-05 16:48:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506041123 ms) 2026-01-05 16:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:48:40.710716+00:00', 'runtime': '506040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506041125 ms) 2026-01-05 16:48:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:47:40.710784+00:00', 'runtime': '505980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506041126 ms) 2026-01-05 16:49:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506060088 ms) 2026-01-05 16:49:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506060089 ms) 2026-01-05 16:49:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:48:40.710824+00:00'} (T+506060092 ms) 2026-01-05 16:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506100083 ms) 2026-01-05 16:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506100083 ms) 2026-01-05 16:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506100084 ms) 2026-01-05 16:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506100084 ms) 2026-01-05 16:49:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506101124 ms) 2026-01-05 16:49:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506101125 ms) 2026-01-05 16:49:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:49:40.710720+00:00', 'runtime': '506100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506101127 ms) 2026-01-05 16:49:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:48:40.710716+00:00', 'runtime': '506040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506101128 ms) 2026-01-05 16:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506120088 ms) 2026-01-05 16:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506120089 ms) 2026-01-05 16:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:49:40.710847+00:00'} (T+506120092 ms) 2026-01-05 16:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506160084 ms) 2026-01-05 16:50:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506160084 ms) 2026-01-05 16:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506160084 ms) 2026-01-05 16:50:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506160085 ms) 2026-01-05 16:50:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506161123 ms) 2026-01-05 16:50:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506161124 ms) 2026-01-05 16:50:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:50:40.710839+00:00', 'runtime': '506160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506161126 ms) 2026-01-05 16:50:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:49:40.710720+00:00', 'runtime': '506100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506161127 ms) 2026-01-05 16:51:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506180088 ms) 2026-01-05 16:51:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506180089 ms) 2026-01-05 16:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:50:40.710843+00:00'} (T+506180094 ms) 2026-01-05 16:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506220083 ms) 2026-01-05 16:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506220084 ms) 2026-01-05 16:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506220084 ms) 2026-01-05 16:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506220084 ms) 2026-01-05 16:51:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506221119 ms) 2026-01-05 16:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506221119 ms) 2026-01-05 16:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:51:40.710750+00:00', 'runtime': '506220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506221120 ms) 2026-01-05 16:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:50:40.710839+00:00', 'runtime': '506160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506221120 ms) 2026-01-05 16:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506240090 ms) 2026-01-05 16:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506240091 ms) 2026-01-05 16:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:51:40.710846+00:00'} (T+506240094 ms) 2026-01-05 16:52:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506280076 ms) 2026-01-05 16:52:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506280076 ms) 2026-01-05 16:52:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506280077 ms) 2026-01-05 16:52:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506280077 ms) 2026-01-05 16:52:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506281113 ms) 2026-01-05 16:52:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506281114 ms) 2026-01-05 16:52:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:52:40.710732+00:00', 'runtime': '506280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506281115 ms) 2026-01-05 16:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:51:40.710750+00:00', 'runtime': '506220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506281119 ms) 2026-01-05 16:53:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506300085 ms) 2026-01-05 16:53:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506300086 ms) 2026-01-05 16:53:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:52:40.710852+00:00'} (T+506300087 ms) 2026-01-05 16:53:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506340077 ms) 2026-01-05 16:53:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506340077 ms) 2026-01-05 16:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506340078 ms) 2026-01-05 16:53:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506340078 ms) 2026-01-05 16:53:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506341114 ms) 2026-01-05 16:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506341115 ms) 2026-01-05 16:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:53:40.710717+00:00', 'runtime': '506340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506341117 ms) 2026-01-05 16:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:52:40.710732+00:00', 'runtime': '506280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506341118 ms) 2026-01-05 16:54:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506360084 ms) 2026-01-05 16:54:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506360085 ms) 2026-01-05 16:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:53:40.710835+00:00'} (T+506360088 ms) 2026-01-05 16:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506400082 ms) 2026-01-05 16:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506400083 ms) 2026-01-05 16:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506400083 ms) 2026-01-05 16:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506400084 ms) 2026-01-05 16:54:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506401112 ms) 2026-01-05 16:54:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506401113 ms) 2026-01-05 16:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:54:40.710729+00:00', 'runtime': '506400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506401114 ms) 2026-01-05 16:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:53:40.710717+00:00', 'runtime': '506340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506401114 ms) 2026-01-05 16:55:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506420093 ms) 2026-01-05 16:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506420094 ms) 2026-01-05 16:55:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:54:40.713224+00:00'} (T+506420097 ms) 2026-01-05 16:55:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506460078 ms) 2026-01-05 16:55:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506460078 ms) 2026-01-05 16:55:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506460078 ms) 2026-01-05 16:55:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506460079 ms) 2026-01-05 16:55:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506461115 ms) 2026-01-05 16:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506461116 ms) 2026-01-05 16:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:55:40.710751+00:00', 'runtime': '506460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506461119 ms) 2026-01-05 16:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:54:40.710729+00:00', 'runtime': '506400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506461120 ms) 2026-01-05 16:56:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506480086 ms) 2026-01-05 16:56:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506480087 ms) 2026-01-05 16:56:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:55:40.710850+00:00'} (T+506480090 ms) 2026-01-05 16:56:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506520079 ms) 2026-01-05 16:56:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506520079 ms) 2026-01-05 16:56:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506520080 ms) 2026-01-05 16:56:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506520080 ms) 2026-01-05 16:56:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506521115 ms) 2026-01-05 16:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506521116 ms) 2026-01-05 16:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:56:40.710741+00:00', 'runtime': '506520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506521118 ms) 2026-01-05 16:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:55:40.710751+00:00', 'runtime': '506460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506521119 ms) 2026-01-05 16:57:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506540092 ms) 2026-01-05 16:57:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506540093 ms) 2026-01-05 16:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:56:40.713241+00:00'} (T+506540095 ms) 2026-01-05 16:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506580082 ms) 2026-01-05 16:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506580083 ms) 2026-01-05 16:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506580083 ms) 2026-01-05 16:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506580084 ms) 2026-01-05 16:57:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506581116 ms) 2026-01-05 16:57:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506581116 ms) 2026-01-05 16:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:57:40.710688+00:00', 'runtime': '506580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506581117 ms) 2026-01-05 16:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:56:40.710741+00:00', 'runtime': '506520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506581118 ms) 2026-01-05 16:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506600090 ms) 2026-01-05 16:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506600091 ms) 2026-01-05 16:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:57:40.710830+00:00'} (T+506600094 ms) 2026-01-05 16:58:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506640080 ms) 2026-01-05 16:58:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506640080 ms) 2026-01-05 16:58:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506640080 ms) 2026-01-05 16:58:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506640081 ms) 2026-01-05 16:58:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506641115 ms) 2026-01-05 16:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506641116 ms) 2026-01-05 16:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:58:40.710722+00:00', 'runtime': '506640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506641118 ms) 2026-01-05 16:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:57:40.710688+00:00', 'runtime': '506580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506641119 ms) 2026-01-05 16:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506660090 ms) 2026-01-05 16:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506660091 ms) 2026-01-05 16:59:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:58:40.710850+00:00'} (T+506660093 ms) 2026-01-05 16:59:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506700084 ms) 2026-01-05 16:59:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506700085 ms) 2026-01-05 16:59:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506700085 ms) 2026-01-05 16:59:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506700086 ms) 2026-01-05 16:59:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506701124 ms) 2026-01-05 16:59:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506701125 ms) 2026-01-05 16:59:41.810 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 16:59:40.713173+00:00', 'runtime': '506700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506701131 ms) 2026-01-05 16:59:41.811 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:58:40.710722+00:00', 'runtime': '506640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506701132 ms) 2026-01-05 17:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506720090 ms) 2026-01-05 17:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506720091 ms) 2026-01-05 17:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 16:59:40.710747+00:00'} (T+506720094 ms) 2026-01-05 17:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506760082 ms) 2026-01-05 17:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506760083 ms) 2026-01-05 17:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506760083 ms) 2026-01-05 17:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506760084 ms) 2026-01-05 17:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506761123 ms) 2026-01-05 17:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506761124 ms) 2026-01-05 17:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:00:40.710773+00:00', 'runtime': '506760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506761126 ms) 2026-01-05 17:00:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 16:59:40.713173+00:00', 'runtime': '506700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506761130 ms) 2026-01-05 17:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506780090 ms) 2026-01-05 17:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506780091 ms) 2026-01-05 17:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:00:40.710854+00:00'} (T+506780094 ms) 2026-01-05 17:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506820082 ms) 2026-01-05 17:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506820083 ms) 2026-01-05 17:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506820083 ms) 2026-01-05 17:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506820083 ms) 2026-01-05 17:01:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506821119 ms) 2026-01-05 17:01:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506821119 ms) 2026-01-05 17:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:01:40.710728+00:00', 'runtime': '506820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506821120 ms) 2026-01-05 17:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:00:40.710773+00:00', 'runtime': '506760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506821121 ms) 2026-01-05 17:02:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506840091 ms) 2026-01-05 17:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506840092 ms) 2026-01-05 17:02:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:01:40.713238+00:00'} (T+506840095 ms) 2026-01-05 17:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506880083 ms) 2026-01-05 17:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506880084 ms) 2026-01-05 17:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506880084 ms) 2026-01-05 17:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506880084 ms) 2026-01-05 17:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506881116 ms) 2026-01-05 17:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506881116 ms) 2026-01-05 17:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:02:40.710751+00:00', 'runtime': '506880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506881117 ms) 2026-01-05 17:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:01:40.710728+00:00', 'runtime': '506820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506881118 ms) 2026-01-05 17:03:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506900087 ms) 2026-01-05 17:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506900088 ms) 2026-01-05 17:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:02:40.710823+00:00'} (T+506900091 ms) 2026-01-05 17:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+506940083 ms) 2026-01-05 17:03:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+506940084 ms) 2026-01-05 17:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+506940084 ms) 2026-01-05 17:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+506940084 ms) 2026-01-05 17:03:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+506941122 ms) 2026-01-05 17:03:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+506941122 ms) 2026-01-05 17:03:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:03:40.710754+00:00', 'runtime': '506940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506941123 ms) 2026-01-05 17:03:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:02:40.710751+00:00', 'runtime': '506880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+506941124 ms) 2026-01-05 17:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506960090 ms) 2026-01-05 17:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+506960091 ms) 2026-01-05 17:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:03:40.710864+00:00'} (T+506960094 ms) 2026-01-05 17:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507000084 ms) 2026-01-05 17:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507000084 ms) 2026-01-05 17:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507000084 ms) 2026-01-05 17:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507000085 ms) 2026-01-05 17:04:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507001124 ms) 2026-01-05 17:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507001125 ms) 2026-01-05 17:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:04:40.710794+00:00', 'runtime': '507000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507001127 ms) 2026-01-05 17:04:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:03:40.710754+00:00', 'runtime': '506940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507001127 ms) 2026-01-05 17:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507020090 ms) 2026-01-05 17:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507020091 ms) 2026-01-05 17:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:04:40.710856+00:00'} (T+507020095 ms) 2026-01-05 17:05:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507060082 ms) 2026-01-05 17:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507060083 ms) 2026-01-05 17:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507060083 ms) 2026-01-05 17:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507060084 ms) 2026-01-05 17:05:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507061112 ms) 2026-01-05 17:05:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507061113 ms) 2026-01-05 17:05:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:05:40.710734+00:00', 'runtime': '507060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507061114 ms) 2026-01-05 17:05:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:04:40.710794+00:00', 'runtime': '507000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507061114 ms) 2026-01-05 17:06:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507080093 ms) 2026-01-05 17:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507080094 ms) 2026-01-05 17:06:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:05:40.713243+00:00'} (T+507080097 ms) 2026-01-05 17:06:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507120077 ms) 2026-01-05 17:06:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507120078 ms) 2026-01-05 17:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507120078 ms) 2026-01-05 17:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507120078 ms) 2026-01-05 17:06:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507121114 ms) 2026-01-05 17:06:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507121115 ms) 2026-01-05 17:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:06:40.710766+00:00', 'runtime': '507120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507121117 ms) 2026-01-05 17:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:05:40.710734+00:00', 'runtime': '507060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507121118 ms) 2026-01-05 17:07:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507140087 ms) 2026-01-05 17:07:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507140088 ms) 2026-01-05 17:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:06:40.713238+00:00'} (T+507140091 ms) 2026-01-05 17:07:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507180085 ms) 2026-01-05 17:07:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507180085 ms) 2026-01-05 17:07:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507180086 ms) 2026-01-05 17:07:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507180086 ms) 2026-01-05 17:07:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507181118 ms) 2026-01-05 17:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507181119 ms) 2026-01-05 17:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:07:40.713191+00:00', 'runtime': '507180.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507181119 ms) 2026-01-05 17:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:06:40.710766+00:00', 'runtime': '507120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507181120 ms) 2026-01-05 17:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507200090 ms) 2026-01-05 17:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507200092 ms) 2026-01-05 17:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:07:40.710817+00:00'} (T+507200094 ms) 2026-01-05 17:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507240083 ms) 2026-01-05 17:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507240083 ms) 2026-01-05 17:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507240083 ms) 2026-01-05 17:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507240084 ms) 2026-01-05 17:08:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507241116 ms) 2026-01-05 17:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507241117 ms) 2026-01-05 17:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:08:40.710792+00:00', 'runtime': '507240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507241118 ms) 2026-01-05 17:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:07:40.713191+00:00', 'runtime': '507180.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507241118 ms) 2026-01-05 17:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507260090 ms) 2026-01-05 17:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507260091 ms) 2026-01-05 17:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:08:40.710889+00:00'} (T+507260094 ms) 2026-01-05 17:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507300083 ms) 2026-01-05 17:09:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507300084 ms) 2026-01-05 17:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507300084 ms) 2026-01-05 17:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507300085 ms) 2026-01-05 17:09:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507301123 ms) 2026-01-05 17:09:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507301124 ms) 2026-01-05 17:09:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:09:40.710790+00:00', 'runtime': '507300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507301126 ms) 2026-01-05 17:09:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:08:40.710792+00:00', 'runtime': '507240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507301127 ms) 2026-01-05 17:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507320090 ms) 2026-01-05 17:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507320091 ms) 2026-01-05 17:10:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:09:40.710867+00:00'} (T+507320094 ms) 2026-01-05 17:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507360083 ms) 2026-01-05 17:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507360083 ms) 2026-01-05 17:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507360084 ms) 2026-01-05 17:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507360084 ms) 2026-01-05 17:10:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507361116 ms) 2026-01-05 17:10:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507361117 ms) 2026-01-05 17:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:10:40.710713+00:00', 'runtime': '507360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507361118 ms) 2026-01-05 17:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:09:40.710790+00:00', 'runtime': '507300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507361118 ms) 2026-01-05 17:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507380087 ms) 2026-01-05 17:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507380088 ms) 2026-01-05 17:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:10:40.710849+00:00'} (T+507380091 ms) 2026-01-05 17:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507420082 ms) 2026-01-05 17:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507420083 ms) 2026-01-05 17:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507420083 ms) 2026-01-05 17:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507420084 ms) 2026-01-05 17:11:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507421119 ms) 2026-01-05 17:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507421120 ms) 2026-01-05 17:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:11:40.710739+00:00', 'runtime': '507420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507421121 ms) 2026-01-05 17:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:10:40.710713+00:00', 'runtime': '507360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507421121 ms) 2026-01-05 17:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507440090 ms) 2026-01-05 17:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507440091 ms) 2026-01-05 17:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:11:40.710836+00:00'} (T+507440094 ms) 2026-01-05 17:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507480082 ms) 2026-01-05 17:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507480083 ms) 2026-01-05 17:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507480083 ms) 2026-01-05 17:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507480084 ms) 2026-01-05 17:12:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507481114 ms) 2026-01-05 17:12:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507481115 ms) 2026-01-05 17:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:12:40.710740+00:00', 'runtime': '507480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507481116 ms) 2026-01-05 17:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:11:40.710739+00:00', 'runtime': '507420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507481116 ms) 2026-01-05 17:13:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507500091 ms) 2026-01-05 17:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507500092 ms) 2026-01-05 17:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:12:40.710852+00:00'} (T+507500094 ms) 2026-01-05 17:13:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507540078 ms) 2026-01-05 17:13:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507540078 ms) 2026-01-05 17:13:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507540078 ms) 2026-01-05 17:13:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507540079 ms) 2026-01-05 17:13:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507541113 ms) 2026-01-05 17:13:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507541114 ms) 2026-01-05 17:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:13:40.713173+00:00', 'runtime': '507540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507541115 ms) 2026-01-05 17:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:12:40.710740+00:00', 'runtime': '507480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507541116 ms) 2026-01-05 17:14:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507560087 ms) 2026-01-05 17:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507560088 ms) 2026-01-05 17:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:13:40.710822+00:00'} (T+507560091 ms) 2026-01-05 17:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507600083 ms) 2026-01-05 17:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507600084 ms) 2026-01-05 17:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507600084 ms) 2026-01-05 17:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507600084 ms) 2026-01-05 17:14:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507601116 ms) 2026-01-05 17:14:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507601116 ms) 2026-01-05 17:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:14:40.710747+00:00', 'runtime': '507600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507601117 ms) 2026-01-05 17:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:13:40.713173+00:00', 'runtime': '507540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507601117 ms) 2026-01-05 17:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507620090 ms) 2026-01-05 17:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507620091 ms) 2026-01-05 17:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:14:40.710852+00:00'} (T+507620094 ms) 2026-01-05 17:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507660083 ms) 2026-01-05 17:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507660083 ms) 2026-01-05 17:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507660083 ms) 2026-01-05 17:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507660084 ms) 2026-01-05 17:15:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507661121 ms) 2026-01-05 17:15:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507661121 ms) 2026-01-05 17:15:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:15:40.710760+00:00', 'runtime': '507660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507661123 ms) 2026-01-05 17:15:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:14:40.710747+00:00', 'runtime': '507600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507661123 ms) 2026-01-05 17:16:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507680087 ms) 2026-01-05 17:16:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507680088 ms) 2026-01-05 17:16:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:15:40.710846+00:00'} (T+507680090 ms) 2026-01-05 17:16:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507720085 ms) 2026-01-05 17:16:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507720086 ms) 2026-01-05 17:16:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507720086 ms) 2026-01-05 17:16:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507720086 ms) 2026-01-05 17:16:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507721119 ms) 2026-01-05 17:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507721119 ms) 2026-01-05 17:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:16:40.713157+00:00', 'runtime': '507720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507721120 ms) 2026-01-05 17:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:15:40.710760+00:00', 'runtime': '507660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507721120 ms) 2026-01-05 17:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507740090 ms) 2026-01-05 17:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507740091 ms) 2026-01-05 17:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:16:40.710840+00:00'} (T+507740094 ms) 2026-01-05 17:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507780082 ms) 2026-01-05 17:17:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507780083 ms) 2026-01-05 17:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507780083 ms) 2026-01-05 17:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507780083 ms) 2026-01-05 17:17:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507781116 ms) 2026-01-05 17:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507781116 ms) 2026-01-05 17:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:17:40.710746+00:00', 'runtime': '507780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507781117 ms) 2026-01-05 17:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:16:40.713157+00:00', 'runtime': '507720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507781118 ms) 2026-01-05 17:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507800090 ms) 2026-01-05 17:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507800091 ms) 2026-01-05 17:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:17:40.710853+00:00'} (T+507800094 ms) 2026-01-05 17:18:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507840084 ms) 2026-01-05 17:18:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507840085 ms) 2026-01-05 17:18:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507840085 ms) 2026-01-05 17:18:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507840086 ms) 2026-01-05 17:18:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507841123 ms) 2026-01-05 17:18:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507841124 ms) 2026-01-05 17:18:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:18:40.713179+00:00', 'runtime': '507840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507841126 ms) 2026-01-05 17:18:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:17:40.710746+00:00', 'runtime': '507780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507841127 ms) 2026-01-05 17:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507860091 ms) 2026-01-05 17:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507860092 ms) 2026-01-05 17:19:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:18:40.710844+00:00'} (T+507860095 ms) 2026-01-05 17:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507900082 ms) 2026-01-05 17:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507900083 ms) 2026-01-05 17:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507900083 ms) 2026-01-05 17:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507900084 ms) 2026-01-05 17:19:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507901121 ms) 2026-01-05 17:19:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507901122 ms) 2026-01-05 17:19:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:19:40.710774+00:00', 'runtime': '507900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507901124 ms) 2026-01-05 17:19:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:18:40.713179+00:00', 'runtime': '507840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507901125 ms) 2026-01-05 17:20:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507920090 ms) 2026-01-05 17:20:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507920091 ms) 2026-01-05 17:20:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:19:40.710848+00:00'} (T+507920094 ms) 2026-01-05 17:20:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+507960084 ms) 2026-01-05 17:20:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+507960085 ms) 2026-01-05 17:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+507960085 ms) 2026-01-05 17:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+507960086 ms) 2026-01-05 17:20:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+507961120 ms) 2026-01-05 17:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+507961120 ms) 2026-01-05 17:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:20:40.710729+00:00', 'runtime': '507960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507961121 ms) 2026-01-05 17:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:19:40.710774+00:00', 'runtime': '507900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+507961122 ms) 2026-01-05 17:21:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507980087 ms) 2026-01-05 17:21:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+507980088 ms) 2026-01-05 17:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:20:40.710843+00:00'} (T+507980091 ms) 2026-01-05 17:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508020082 ms) 2026-01-05 17:21:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508020083 ms) 2026-01-05 17:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508020083 ms) 2026-01-05 17:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508020083 ms) 2026-01-05 17:21:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508021121 ms) 2026-01-05 17:21:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508021122 ms) 2026-01-05 17:21:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:21:40.710729+00:00', 'runtime': '508020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508021124 ms) 2026-01-05 17:21:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:20:40.710729+00:00', 'runtime': '507960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508021125 ms) 2026-01-05 17:22:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508040087 ms) 2026-01-05 17:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508040088 ms) 2026-01-05 17:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:21:40.710844+00:00'} (T+508040091 ms) 2026-01-05 17:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508080083 ms) 2026-01-05 17:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508080083 ms) 2026-01-05 17:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508080084 ms) 2026-01-05 17:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508080084 ms) 2026-01-05 17:22:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508081117 ms) 2026-01-05 17:22:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508081117 ms) 2026-01-05 17:22:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:22:40.710759+00:00', 'runtime': '508080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508081118 ms) 2026-01-05 17:22:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:21:40.710729+00:00', 'runtime': '508020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508081118 ms) 2026-01-05 17:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508100090 ms) 2026-01-05 17:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508100091 ms) 2026-01-05 17:23:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:22:40.710858+00:00'} (T+508100093 ms) 2026-01-05 17:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508140083 ms) 2026-01-05 17:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508140084 ms) 2026-01-05 17:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508140084 ms) 2026-01-05 17:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508140084 ms) 2026-01-05 17:23:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508141119 ms) 2026-01-05 17:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508141120 ms) 2026-01-05 17:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:23:40.710747+00:00', 'runtime': '508140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508141121 ms) 2026-01-05 17:23:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:22:40.710759+00:00', 'runtime': '508080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508141122 ms) 2026-01-05 17:24:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508160087 ms) 2026-01-05 17:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508160088 ms) 2026-01-05 17:24:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:23:40.710851+00:00'} (T+508160090 ms) 2026-01-05 17:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508200083 ms) 2026-01-05 17:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508200083 ms) 2026-01-05 17:24:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508200084 ms) 2026-01-05 17:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508200084 ms) 2026-01-05 17:24:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508201115 ms) 2026-01-05 17:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508201116 ms) 2026-01-05 17:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:24:40.710710+00:00', 'runtime': '508200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508201117 ms) 2026-01-05 17:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:23:40.710747+00:00', 'runtime': '508140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508201117 ms) 2026-01-05 17:25:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508220088 ms) 2026-01-05 17:25:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508220089 ms) 2026-01-05 17:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:24:40.710856+00:00'} (T+508220092 ms) 2026-01-05 17:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508260083 ms) 2026-01-05 17:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508260083 ms) 2026-01-05 17:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508260084 ms) 2026-01-05 17:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508260084 ms) 2026-01-05 17:25:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508261119 ms) 2026-01-05 17:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508261120 ms) 2026-01-05 17:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:25:40.710742+00:00', 'runtime': '508260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508261121 ms) 2026-01-05 17:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:24:40.710710+00:00', 'runtime': '508200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508261121 ms) 2026-01-05 17:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508280087 ms) 2026-01-05 17:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508280088 ms) 2026-01-05 17:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:25:40.710825+00:00'} (T+508280091 ms) 2026-01-05 17:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508320083 ms) 2026-01-05 17:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508320083 ms) 2026-01-05 17:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508320084 ms) 2026-01-05 17:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508320084 ms) 2026-01-05 17:26:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508321114 ms) 2026-01-05 17:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508321114 ms) 2026-01-05 17:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:26:40.710730+00:00', 'runtime': '508320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508321115 ms) 2026-01-05 17:26:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:25:40.710742+00:00', 'runtime': '508260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508321116 ms) 2026-01-05 17:27:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508340093 ms) 2026-01-05 17:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508340094 ms) 2026-01-05 17:27:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:26:40.713238+00:00'} (T+508340096 ms) 2026-01-05 17:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508380083 ms) 2026-01-05 17:27:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508380084 ms) 2026-01-05 17:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508380084 ms) 2026-01-05 17:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508380085 ms) 2026-01-05 17:27:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508381124 ms) 2026-01-05 17:27:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508381125 ms) 2026-01-05 17:27:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:27:40.710794+00:00', 'runtime': '508380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508381127 ms) 2026-01-05 17:27:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:26:40.710730+00:00', 'runtime': '508320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508381128 ms) 2026-01-05 17:28:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508400087 ms) 2026-01-05 17:28:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508400088 ms) 2026-01-05 17:28:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:27:40.710869+00:00'} (T+508400090 ms) 2026-01-05 17:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508440082 ms) 2026-01-05 17:28:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508440083 ms) 2026-01-05 17:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508440083 ms) 2026-01-05 17:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508440083 ms) 2026-01-05 17:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508441119 ms) 2026-01-05 17:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508441119 ms) 2026-01-05 17:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:28:40.710784+00:00', 'runtime': '508440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508441120 ms) 2026-01-05 17:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:27:40.710794+00:00', 'runtime': '508380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508441121 ms) 2026-01-05 17:29:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508460090 ms) 2026-01-05 17:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508460091 ms) 2026-01-05 17:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:28:40.710851+00:00'} (T+508460094 ms) 2026-01-05 17:29:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508500077 ms) 2026-01-05 17:29:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508500078 ms) 2026-01-05 17:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508500078 ms) 2026-01-05 17:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508500078 ms) 2026-01-05 17:29:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508501113 ms) 2026-01-05 17:29:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508501114 ms) 2026-01-05 17:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:29:40.712077+00:00', 'runtime': '508500.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508501116 ms) 2026-01-05 17:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:28:40.710784+00:00', 'runtime': '508440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508501117 ms) 2026-01-05 17:30:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508520083 ms) 2026-01-05 17:30:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508520084 ms) 2026-01-05 17:30:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:29:40.710856+00:00'} (T+508520087 ms) 2026-01-05 17:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508560084 ms) 2026-01-05 17:30:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508560084 ms) 2026-01-05 17:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508560084 ms) 2026-01-05 17:30:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508560085 ms) 2026-01-05 17:30:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508561117 ms) 2026-01-05 17:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508561117 ms) 2026-01-05 17:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:30:40.710770+00:00', 'runtime': '508560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508561118 ms) 2026-01-05 17:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:29:40.712077+00:00', 'runtime': '508500.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508561118 ms) 2026-01-05 17:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508580090 ms) 2026-01-05 17:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508580091 ms) 2026-01-05 17:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:30:40.710846+00:00'} (T+508580094 ms) 2026-01-05 17:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508620083 ms) 2026-01-05 17:31:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508620084 ms) 2026-01-05 17:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508620084 ms) 2026-01-05 17:31:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508620085 ms) 2026-01-05 17:31:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508621121 ms) 2026-01-05 17:31:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508621122 ms) 2026-01-05 17:31:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:31:40.710777+00:00', 'runtime': '508620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508621123 ms) 2026-01-05 17:31:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:30:40.710770+00:00', 'runtime': '508560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508621123 ms) 2026-01-05 17:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508640090 ms) 2026-01-05 17:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508640091 ms) 2026-01-05 17:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:31:40.710861+00:00'} (T+508640094 ms) 2026-01-05 17:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508680083 ms) 2026-01-05 17:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508680083 ms) 2026-01-05 17:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508680084 ms) 2026-01-05 17:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508680084 ms) 2026-01-05 17:32:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508681124 ms) 2026-01-05 17:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508681125 ms) 2026-01-05 17:32:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:32:40.710754+00:00', 'runtime': '508680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508681127 ms) 2026-01-05 17:32:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:31:40.710777+00:00', 'runtime': '508620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508681128 ms) 2026-01-05 17:33:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508700089 ms) 2026-01-05 17:33:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508700090 ms) 2026-01-05 17:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:32:40.710862+00:00'} (T+508700093 ms) 2026-01-05 17:33:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508740079 ms) 2026-01-05 17:33:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508740080 ms) 2026-01-05 17:33:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508740080 ms) 2026-01-05 17:33:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508740080 ms) 2026-01-05 17:33:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508741114 ms) 2026-01-05 17:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508741115 ms) 2026-01-05 17:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:33:40.710714+00:00', 'runtime': '508740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508741117 ms) 2026-01-05 17:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:32:40.710754+00:00', 'runtime': '508680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508741118 ms) 2026-01-05 17:34:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508760091 ms) 2026-01-05 17:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508760092 ms) 2026-01-05 17:34:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:33:40.710843+00:00'} (T+508760095 ms) 2026-01-05 17:34:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508800079 ms) 2026-01-05 17:34:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508800079 ms) 2026-01-05 17:34:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508800080 ms) 2026-01-05 17:34:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508800080 ms) 2026-01-05 17:34:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508801115 ms) 2026-01-05 17:34:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508801116 ms) 2026-01-05 17:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:34:40.713172+00:00', 'runtime': '508800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508801120 ms) 2026-01-05 17:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:33:40.710714+00:00', 'runtime': '508740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508801121 ms) 2026-01-05 17:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508820088 ms) 2026-01-05 17:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508820089 ms) 2026-01-05 17:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:34:40.710789+00:00'} (T+508820093 ms) 2026-01-05 17:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508860083 ms) 2026-01-05 17:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508860083 ms) 2026-01-05 17:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508860084 ms) 2026-01-05 17:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508860084 ms) 2026-01-05 17:35:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508861121 ms) 2026-01-05 17:35:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508861122 ms) 2026-01-05 17:35:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:35:40.710708+00:00', 'runtime': '508860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508861123 ms) 2026-01-05 17:35:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:34:40.713172+00:00', 'runtime': '508800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508861123 ms) 2026-01-05 17:36:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508880092 ms) 2026-01-05 17:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508880093 ms) 2026-01-05 17:36:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:35:40.713227+00:00'} (T+508880096 ms) 2026-01-05 17:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508920082 ms) 2026-01-05 17:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508920083 ms) 2026-01-05 17:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508920083 ms) 2026-01-05 17:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508920084 ms) 2026-01-05 17:36:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508921121 ms) 2026-01-05 17:36:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508921122 ms) 2026-01-05 17:36:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:36:40.710788+00:00', 'runtime': '508920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508921125 ms) 2026-01-05 17:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:35:40.710708+00:00', 'runtime': '508860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508921125 ms) 2026-01-05 17:37:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508940092 ms) 2026-01-05 17:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+508940093 ms) 2026-01-05 17:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:36:40.710879+00:00'} (T+508940095 ms) 2026-01-05 17:37:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+508980084 ms) 2026-01-05 17:37:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+508980085 ms) 2026-01-05 17:37:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+508980085 ms) 2026-01-05 17:37:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+508980086 ms) 2026-01-05 17:37:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+508981124 ms) 2026-01-05 17:37:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+508981125 ms) 2026-01-05 17:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:37:40.713180+00:00', 'runtime': '508980.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508981127 ms) 2026-01-05 17:37:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:36:40.710788+00:00', 'runtime': '508920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+508981128 ms) 2026-01-05 17:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509000090 ms) 2026-01-05 17:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509000092 ms) 2026-01-05 17:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:37:40.710821+00:00'} (T+509000093 ms) 2026-01-05 17:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509040083 ms) 2026-01-05 17:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509040083 ms) 2026-01-05 17:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509040084 ms) 2026-01-05 17:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509040084 ms) 2026-01-05 17:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509041117 ms) 2026-01-05 17:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509041118 ms) 2026-01-05 17:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:38:40.710698+00:00', 'runtime': '509040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509041119 ms) 2026-01-05 17:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:37:40.713180+00:00', 'runtime': '508980.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509041120 ms) 2026-01-05 17:39:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509060093 ms) 2026-01-05 17:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509060094 ms) 2026-01-05 17:39:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:38:40.713239+00:00'} (T+509060097 ms) 2026-01-05 17:39:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509100077 ms) 2026-01-05 17:39:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509100077 ms) 2026-01-05 17:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509100078 ms) 2026-01-05 17:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509100078 ms) 2026-01-05 17:39:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509101115 ms) 2026-01-05 17:39:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509101116 ms) 2026-01-05 17:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:39:40.710709+00:00', 'runtime': '509100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509101118 ms) 2026-01-05 17:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:38:40.710698+00:00', 'runtime': '509040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509101119 ms) 2026-01-05 17:40:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509120084 ms) 2026-01-05 17:40:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509120085 ms) 2026-01-05 17:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:39:40.710819+00:00'} (T+509120088 ms) 2026-01-05 17:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509160083 ms) 2026-01-05 17:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509160084 ms) 2026-01-05 17:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509160084 ms) 2026-01-05 17:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509160084 ms) 2026-01-05 17:40:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509161120 ms) 2026-01-05 17:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509161120 ms) 2026-01-05 17:40:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:40:40.710721+00:00', 'runtime': '509160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509161121 ms) 2026-01-05 17:40:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:39:40.710709+00:00', 'runtime': '509100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509161121 ms) 2026-01-05 17:41:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509180093 ms) 2026-01-05 17:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509180094 ms) 2026-01-05 17:41:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:40:40.713250+00:00'} (T+509180097 ms) 2026-01-05 17:41:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509220076 ms) 2026-01-05 17:41:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509220077 ms) 2026-01-05 17:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509220077 ms) 2026-01-05 17:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509220077 ms) 2026-01-05 17:41:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509221114 ms) 2026-01-05 17:41:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509221114 ms) 2026-01-05 17:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:41:40.710751+00:00', 'runtime': '509220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509221116 ms) 2026-01-05 17:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:40:40.710721+00:00', 'runtime': '509160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509221117 ms) 2026-01-05 17:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509240088 ms) 2026-01-05 17:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509240089 ms) 2026-01-05 17:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:41:40.710845+00:00'} (T+509240092 ms) 2026-01-05 17:42:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509280078 ms) 2026-01-05 17:42:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509280079 ms) 2026-01-05 17:42:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509280079 ms) 2026-01-05 17:42:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509280079 ms) 2026-01-05 17:42:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509281115 ms) 2026-01-05 17:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509281115 ms) 2026-01-05 17:42:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:42:40.710741+00:00', 'runtime': '509280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509281117 ms) 2026-01-05 17:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:41:40.710751+00:00', 'runtime': '509220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509281118 ms) 2026-01-05 17:43:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509300089 ms) 2026-01-05 17:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509300090 ms) 2026-01-05 17:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:42:40.710851+00:00'} (T+509300093 ms) 2026-01-05 17:43:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509340083 ms) 2026-01-05 17:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509340083 ms) 2026-01-05 17:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509340084 ms) 2026-01-05 17:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509340084 ms) 2026-01-05 17:43:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509341116 ms) 2026-01-05 17:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509341117 ms) 2026-01-05 17:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:43:40.710700+00:00', 'runtime': '509340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509341118 ms) 2026-01-05 17:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:42:40.710741+00:00', 'runtime': '509280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509341118 ms) 2026-01-05 17:44:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509360088 ms) 2026-01-05 17:44:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509360089 ms) 2026-01-05 17:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:43:40.710819+00:00'} (T+509360092 ms) 2026-01-05 17:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509400083 ms) 2026-01-05 17:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509400084 ms) 2026-01-05 17:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509400084 ms) 2026-01-05 17:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509400084 ms) 2026-01-05 17:44:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509401114 ms) 2026-01-05 17:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509401114 ms) 2026-01-05 17:44:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:44:40.710719+00:00', 'runtime': '509400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509401115 ms) 2026-01-05 17:44:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:43:40.710700+00:00', 'runtime': '509340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509401116 ms) 2026-01-05 17:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509420090 ms) 2026-01-05 17:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509420091 ms) 2026-01-05 17:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:44:40.710847+00:00'} (T+509420094 ms) 2026-01-05 17:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509460083 ms) 2026-01-05 17:45:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509460084 ms) 2026-01-05 17:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509460084 ms) 2026-01-05 17:45:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509460085 ms) 2026-01-05 17:45:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509461119 ms) 2026-01-05 17:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509461119 ms) 2026-01-05 17:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:45:40.710755+00:00', 'runtime': '509460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509461120 ms) 2026-01-05 17:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:44:40.710719+00:00', 'runtime': '509400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509461120 ms) 2026-01-05 17:46:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509480085 ms) 2026-01-05 17:46:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509480086 ms) 2026-01-05 17:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:45:40.710836+00:00'} (T+509480089 ms) 2026-01-05 17:46:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509520077 ms) 2026-01-05 17:46:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509520077 ms) 2026-01-05 17:46:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509520078 ms) 2026-01-05 17:46:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509520078 ms) 2026-01-05 17:46:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509521113 ms) 2026-01-05 17:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509521114 ms) 2026-01-05 17:46:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:46:40.710731+00:00', 'runtime': '509520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509521116 ms) 2026-01-05 17:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:45:40.710755+00:00', 'runtime': '509460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509521117 ms) 2026-01-05 17:47:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509540090 ms) 2026-01-05 17:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509540091 ms) 2026-01-05 17:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:46:40.713237+00:00'} (T+509540094 ms) 2026-01-05 17:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509580083 ms) 2026-01-05 17:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509580084 ms) 2026-01-05 17:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509580084 ms) 2026-01-05 17:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509580084 ms) 2026-01-05 17:47:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509581113 ms) 2026-01-05 17:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509581114 ms) 2026-01-05 17:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:47:40.710732+00:00', 'runtime': '509580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509581115 ms) 2026-01-05 17:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:46:40.710731+00:00', 'runtime': '509520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509581115 ms) 2026-01-05 17:48:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509600090 ms) 2026-01-05 17:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509600091 ms) 2026-01-05 17:48:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:47:40.710853+00:00'} (T+509600094 ms) 2026-01-05 17:48:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509640077 ms) 2026-01-05 17:48:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509640078 ms) 2026-01-05 17:48:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509640078 ms) 2026-01-05 17:48:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509640078 ms) 2026-01-05 17:48:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509641112 ms) 2026-01-05 17:48:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509641113 ms) 2026-01-05 17:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:48:40.710704+00:00', 'runtime': '509640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509641115 ms) 2026-01-05 17:48:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:47:40.710732+00:00', 'runtime': '509580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509641116 ms) 2026-01-05 17:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509660090 ms) 2026-01-05 17:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509660091 ms) 2026-01-05 17:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:48:40.710833+00:00'} (T+509660094 ms) 2026-01-05 17:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509700083 ms) 2026-01-05 17:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509700084 ms) 2026-01-05 17:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509700084 ms) 2026-01-05 17:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509700084 ms) 2026-01-05 17:49:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509701119 ms) 2026-01-05 17:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509701119 ms) 2026-01-05 17:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:49:40.710713+00:00', 'runtime': '509700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509701120 ms) 2026-01-05 17:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:48:40.710704+00:00', 'runtime': '509640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509701121 ms) 2026-01-05 17:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509720088 ms) 2026-01-05 17:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509720089 ms) 2026-01-05 17:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:49:40.710847+00:00'} (T+509720092 ms) 2026-01-05 17:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509760083 ms) 2026-01-05 17:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509760083 ms) 2026-01-05 17:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509760084 ms) 2026-01-05 17:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509760084 ms) 2026-01-05 17:50:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509761124 ms) 2026-01-05 17:50:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509761125 ms) 2026-01-05 17:50:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:50:40.710758+00:00', 'runtime': '509760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509761127 ms) 2026-01-05 17:50:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:49:40.710713+00:00', 'runtime': '509700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509761128 ms) 2026-01-05 17:51:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509780091 ms) 2026-01-05 17:51:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509780092 ms) 2026-01-05 17:51:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:50:40.710859+00:00'} (T+509780095 ms) 2026-01-05 17:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509820083 ms) 2026-01-05 17:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509820084 ms) 2026-01-05 17:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509820084 ms) 2026-01-05 17:51:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509820085 ms) 2026-01-05 17:51:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509821119 ms) 2026-01-05 17:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509821119 ms) 2026-01-05 17:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:51:40.710767+00:00', 'runtime': '509820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509821120 ms) 2026-01-05 17:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:50:40.710758+00:00', 'runtime': '509760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509821120 ms) 2026-01-05 17:52:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509840089 ms) 2026-01-05 17:52:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509840089 ms) 2026-01-05 17:52:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:51:40.710862+00:00'} (T+509840091 ms) 2026-01-05 17:52:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509880083 ms) 2026-01-05 17:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509880083 ms) 2026-01-05 17:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509880084 ms) 2026-01-05 17:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509880084 ms) 2026-01-05 17:52:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509881121 ms) 2026-01-05 17:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509881122 ms) 2026-01-05 17:52:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:52:40.710759+00:00', 'runtime': '509880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509881123 ms) 2026-01-05 17:52:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:51:40.710767+00:00', 'runtime': '509820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509881124 ms) 2026-01-05 17:53:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509900090 ms) 2026-01-05 17:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509900091 ms) 2026-01-05 17:53:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:52:40.710858+00:00'} (T+509900094 ms) 2026-01-05 17:53:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+509940078 ms) 2026-01-05 17:53:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+509940078 ms) 2026-01-05 17:53:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+509940079 ms) 2026-01-05 17:53:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+509940079 ms) 2026-01-05 17:53:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+509941113 ms) 2026-01-05 17:53:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+509941114 ms) 2026-01-05 17:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:53:40.710714+00:00', 'runtime': '509940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509941116 ms) 2026-01-05 17:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:52:40.710759+00:00', 'runtime': '509880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+509941117 ms) 2026-01-05 17:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509960087 ms) 2026-01-05 17:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+509960088 ms) 2026-01-05 17:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:53:40.713233+00:00'} (T+509960091 ms) 2026-01-05 17:54:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510000083 ms) 2026-01-05 17:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510000084 ms) 2026-01-05 17:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510000084 ms) 2026-01-05 17:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510000084 ms) 2026-01-05 17:54:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510001117 ms) 2026-01-05 17:54:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510001117 ms) 2026-01-05 17:54:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:54:40.710742+00:00', 'runtime': '510000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510001118 ms) 2026-01-05 17:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:53:40.710714+00:00', 'runtime': '509940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510001119 ms) 2026-01-05 17:55:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510020087 ms) 2026-01-05 17:55:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510020088 ms) 2026-01-05 17:55:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:54:40.710873+00:00'} (T+510020091 ms) 2026-01-05 17:55:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510060076 ms) 2026-01-05 17:55:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510060077 ms) 2026-01-05 17:55:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510060077 ms) 2026-01-05 17:55:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510060077 ms) 2026-01-05 17:55:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510061114 ms) 2026-01-05 17:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510061115 ms) 2026-01-05 17:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:55:40.710754+00:00', 'runtime': '510060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510061117 ms) 2026-01-05 17:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:54:40.710742+00:00', 'runtime': '510000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510061118 ms) 2026-01-05 17:56:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510080088 ms) 2026-01-05 17:56:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510080089 ms) 2026-01-05 17:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:55:40.710845+00:00'} (T+510080092 ms) 2026-01-05 17:56:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510120078 ms) 2026-01-05 17:56:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510120078 ms) 2026-01-05 17:56:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510120079 ms) 2026-01-05 17:56:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510120079 ms) 2026-01-05 17:56:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510121115 ms) 2026-01-05 17:56:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510121116 ms) 2026-01-05 17:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:56:40.710732+00:00', 'runtime': '510120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510121118 ms) 2026-01-05 17:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:55:40.710754+00:00', 'runtime': '510060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510121119 ms) 2026-01-05 17:57:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510140088 ms) 2026-01-05 17:57:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510140089 ms) 2026-01-05 17:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:56:40.713240+00:00'} (T+510140092 ms) 2026-01-05 17:57:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510180078 ms) 2026-01-05 17:57:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510180078 ms) 2026-01-05 17:57:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510180078 ms) 2026-01-05 17:57:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510180079 ms) 2026-01-05 17:57:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510181116 ms) 2026-01-05 17:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510181117 ms) 2026-01-05 17:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:57:40.710692+00:00', 'runtime': '510180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510181121 ms) 2026-01-05 17:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:56:40.710732+00:00', 'runtime': '510120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510181122 ms) 2026-01-05 17:58:00.760 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510200081 ms) 2026-01-05 17:58:00.761 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510200082 ms) 2026-01-05 17:58:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:57:40.710816+00:00'} (T+510200085 ms) 2026-01-05 17:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510240083 ms) 2026-01-05 17:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510240083 ms) 2026-01-05 17:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510240084 ms) 2026-01-05 17:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510240084 ms) 2026-01-05 17:58:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510241123 ms) 2026-01-05 17:58:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510241124 ms) 2026-01-05 17:58:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:58:40.710729+00:00', 'runtime': '510240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510241125 ms) 2026-01-05 17:58:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:57:40.710692+00:00', 'runtime': '510180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510241126 ms) 2026-01-05 17:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510260087 ms) 2026-01-05 17:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510260089 ms) 2026-01-05 17:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:58:40.710860+00:00'} (T+510260091 ms) 2026-01-05 17:59:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510300085 ms) 2026-01-05 17:59:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510300085 ms) 2026-01-05 17:59:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510300086 ms) 2026-01-05 17:59:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510300086 ms) 2026-01-05 17:59:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510301124 ms) 2026-01-05 17:59:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510301125 ms) 2026-01-05 17:59:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 17:59:40.713162+00:00', 'runtime': '510300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510301127 ms) 2026-01-05 17:59:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:58:40.710729+00:00', 'runtime': '510240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510301128 ms) 2026-01-05 18:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510320090 ms) 2026-01-05 18:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510320091 ms) 2026-01-05 18:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 17:59:40.710823+00:00'} (T+510320094 ms) 2026-01-05 18:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510360082 ms) 2026-01-05 18:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510360083 ms) 2026-01-05 18:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510360083 ms) 2026-01-05 18:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510360084 ms) 2026-01-05 18:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510361123 ms) 2026-01-05 18:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510361124 ms) 2026-01-05 18:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:00:40.710760+00:00', 'runtime': '510360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510361126 ms) 2026-01-05 18:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 17:59:40.713162+00:00', 'runtime': '510300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510361127 ms) 2026-01-05 18:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510380090 ms) 2026-01-05 18:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510380092 ms) 2026-01-05 18:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:00:40.710859+00:00'} (T+510380094 ms) 2026-01-05 18:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510420082 ms) 2026-01-05 18:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510420083 ms) 2026-01-05 18:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510420083 ms) 2026-01-05 18:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510420084 ms) 2026-01-05 18:01:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510421116 ms) 2026-01-05 18:01:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510421117 ms) 2026-01-05 18:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:01:40.710730+00:00', 'runtime': '510420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510421118 ms) 2026-01-05 18:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:00:40.710760+00:00', 'runtime': '510360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510421118 ms) 2026-01-05 18:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510440090 ms) 2026-01-05 18:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510440091 ms) 2026-01-05 18:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:01:40.710845+00:00'} (T+510440094 ms) 2026-01-05 18:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510480082 ms) 2026-01-05 18:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510480083 ms) 2026-01-05 18:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510480083 ms) 2026-01-05 18:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510480084 ms) 2026-01-05 18:02:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510481112 ms) 2026-01-05 18:02:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510481113 ms) 2026-01-05 18:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:02:40.710715+00:00', 'runtime': '510480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510481114 ms) 2026-01-05 18:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:01:40.710730+00:00', 'runtime': '510420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510481114 ms) 2026-01-05 18:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510500090 ms) 2026-01-05 18:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510500091 ms) 2026-01-05 18:03:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:02:40.710836+00:00'} (T+510500094 ms) 2026-01-05 18:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510540083 ms) 2026-01-05 18:03:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510540084 ms) 2026-01-05 18:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510540084 ms) 2026-01-05 18:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510540085 ms) 2026-01-05 18:03:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510541122 ms) 2026-01-05 18:03:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510541123 ms) 2026-01-05 18:03:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:03:40.710780+00:00', 'runtime': '510540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510541126 ms) 2026-01-05 18:03:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:02:40.710715+00:00', 'runtime': '510480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510541127 ms) 2026-01-05 18:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510560090 ms) 2026-01-05 18:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510560091 ms) 2026-01-05 18:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:03:40.710871+00:00'} (T+510560094 ms) 2026-01-05 18:04:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510600077 ms) 2026-01-05 18:04:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510600078 ms) 2026-01-05 18:04:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510600078 ms) 2026-01-05 18:04:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510600078 ms) 2026-01-05 18:04:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510601113 ms) 2026-01-05 18:04:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510601114 ms) 2026-01-05 18:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:04:40.710730+00:00', 'runtime': '510600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510601117 ms) 2026-01-05 18:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:03:40.710780+00:00', 'runtime': '510540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510601117 ms) 2026-01-05 18:05:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510620089 ms) 2026-01-05 18:05:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510620090 ms) 2026-01-05 18:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:04:40.710858+00:00'} (T+510620093 ms) 2026-01-05 18:05:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510660077 ms) 2026-01-05 18:05:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510660078 ms) 2026-01-05 18:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510660078 ms) 2026-01-05 18:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510660079 ms) 2026-01-05 18:05:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510661113 ms) 2026-01-05 18:05:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510661114 ms) 2026-01-05 18:05:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:05:40.710739+00:00', 'runtime': '510660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510661117 ms) 2026-01-05 18:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:04:40.710730+00:00', 'runtime': '510600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510661117 ms) 2026-01-05 18:06:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510680088 ms) 2026-01-05 18:06:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510680090 ms) 2026-01-05 18:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:05:40.710860+00:00'} (T+510680093 ms) 2026-01-05 18:06:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510720084 ms) 2026-01-05 18:06:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510720085 ms) 2026-01-05 18:06:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510720085 ms) 2026-01-05 18:06:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510720085 ms) 2026-01-05 18:06:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510721122 ms) 2026-01-05 18:06:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510721123 ms) 2026-01-05 18:06:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:06:40.710739+00:00', 'runtime': '510720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510721125 ms) 2026-01-05 18:06:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:05:40.710739+00:00', 'runtime': '510660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510721126 ms) 2026-01-05 18:07:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510740091 ms) 2026-01-05 18:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510740092 ms) 2026-01-05 18:07:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:06:40.710825+00:00'} (T+510740095 ms) 2026-01-05 18:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510780082 ms) 2026-01-05 18:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510780083 ms) 2026-01-05 18:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510780083 ms) 2026-01-05 18:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510780083 ms) 2026-01-05 18:07:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510781119 ms) 2026-01-05 18:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510781119 ms) 2026-01-05 18:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:07:40.710688+00:00', 'runtime': '510780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510781120 ms) 2026-01-05 18:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:06:40.710739+00:00', 'runtime': '510720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510781120 ms) 2026-01-05 18:08:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510800089 ms) 2026-01-05 18:08:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510800090 ms) 2026-01-05 18:08:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:07:40.710846+00:00'} (T+510800093 ms) 2026-01-05 18:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510840083 ms) 2026-01-05 18:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510840084 ms) 2026-01-05 18:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510840084 ms) 2026-01-05 18:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510840084 ms) 2026-01-05 18:08:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510841116 ms) 2026-01-05 18:08:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510841117 ms) 2026-01-05 18:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:08:40.710790+00:00', 'runtime': '510840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510841118 ms) 2026-01-05 18:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:07:40.710688+00:00', 'runtime': '510780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510841118 ms) 2026-01-05 18:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510860090 ms) 2026-01-05 18:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510860091 ms) 2026-01-05 18:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:08:40.710873+00:00'} (T+510860094 ms) 2026-01-05 18:09:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510900083 ms) 2026-01-05 18:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510900083 ms) 2026-01-05 18:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510900083 ms) 2026-01-05 18:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510900084 ms) 2026-01-05 18:09:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510901114 ms) 2026-01-05 18:09:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510901115 ms) 2026-01-05 18:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:09:40.710747+00:00', 'runtime': '510900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510901116 ms) 2026-01-05 18:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:08:40.710790+00:00', 'runtime': '510840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510901117 ms) 2026-01-05 18:10:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510920085 ms) 2026-01-05 18:10:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510920086 ms) 2026-01-05 18:10:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:09:40.710843+00:00'} (T+510920089 ms) 2026-01-05 18:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+510960083 ms) 2026-01-05 18:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+510960083 ms) 2026-01-05 18:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+510960084 ms) 2026-01-05 18:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+510960084 ms) 2026-01-05 18:10:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+510961116 ms) 2026-01-05 18:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+510961116 ms) 2026-01-05 18:10:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:10:40.710753+00:00', 'runtime': '510960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510961117 ms) 2026-01-05 18:10:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:09:40.710747+00:00', 'runtime': '510900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+510961117 ms) 2026-01-05 18:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510980090 ms) 2026-01-05 18:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+510980091 ms) 2026-01-05 18:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:10:40.710860+00:00'} (T+510980094 ms) 2026-01-05 18:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511020083 ms) 2026-01-05 18:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511020084 ms) 2026-01-05 18:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511020084 ms) 2026-01-05 18:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511020084 ms) 2026-01-05 18:11:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511021113 ms) 2026-01-05 18:11:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511021113 ms) 2026-01-05 18:11:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:11:40.710709+00:00', 'runtime': '511020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511021114 ms) 2026-01-05 18:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:10:40.710753+00:00', 'runtime': '510960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511021115 ms) 2026-01-05 18:12:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511040092 ms) 2026-01-05 18:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511040093 ms) 2026-01-05 18:12:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:11:40.713230+00:00'} (T+511040096 ms) 2026-01-05 18:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511080083 ms) 2026-01-05 18:12:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511080084 ms) 2026-01-05 18:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511080084 ms) 2026-01-05 18:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511080085 ms) 2026-01-05 18:12:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511081124 ms) 2026-01-05 18:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511081125 ms) 2026-01-05 18:12:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:12:40.710774+00:00', 'runtime': '511080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511081128 ms) 2026-01-05 18:12:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:11:40.710709+00:00', 'runtime': '511020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511081128 ms) 2026-01-05 18:13:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511100091 ms) 2026-01-05 18:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511100092 ms) 2026-01-05 18:13:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:12:40.713230+00:00'} (T+511100095 ms) 2026-01-05 18:13:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511140076 ms) 2026-01-05 18:13:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511140077 ms) 2026-01-05 18:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511140077 ms) 2026-01-05 18:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511140077 ms) 2026-01-05 18:13:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511141114 ms) 2026-01-05 18:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511141115 ms) 2026-01-05 18:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:13:40.710728+00:00', 'runtime': '511140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511141117 ms) 2026-01-05 18:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:12:40.710774+00:00', 'runtime': '511080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511141118 ms) 2026-01-05 18:14:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511160088 ms) 2026-01-05 18:14:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511160089 ms) 2026-01-05 18:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:13:40.710857+00:00'} (T+511160092 ms) 2026-01-05 18:14:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511200085 ms) 2026-01-05 18:14:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511200085 ms) 2026-01-05 18:14:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511200086 ms) 2026-01-05 18:14:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511200086 ms) 2026-01-05 18:14:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511201118 ms) 2026-01-05 18:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511201119 ms) 2026-01-05 18:14:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:14:40.713181+00:00', 'runtime': '511200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511201121 ms) 2026-01-05 18:14:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:13:40.710728+00:00', 'runtime': '511140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511201122 ms) 2026-01-05 18:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511220090 ms) 2026-01-05 18:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511220091 ms) 2026-01-05 18:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:14:40.710797+00:00'} (T+511220094 ms) 2026-01-05 18:15:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511260084 ms) 2026-01-05 18:15:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511260085 ms) 2026-01-05 18:15:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511260085 ms) 2026-01-05 18:15:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511260085 ms) 2026-01-05 18:15:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511261119 ms) 2026-01-05 18:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511261119 ms) 2026-01-05 18:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:15:40.710718+00:00', 'runtime': '511260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511261120 ms) 2026-01-05 18:15:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:14:40.713181+00:00', 'runtime': '511200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511261121 ms) 2026-01-05 18:16:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511280092 ms) 2026-01-05 18:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511280093 ms) 2026-01-05 18:16:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:15:40.713233+00:00'} (T+511280096 ms) 2026-01-05 18:16:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511320076 ms) 2026-01-05 18:16:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511320076 ms) 2026-01-05 18:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511320077 ms) 2026-01-05 18:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511320077 ms) 2026-01-05 18:16:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511321117 ms) 2026-01-05 18:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511321118 ms) 2026-01-05 18:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:16:40.710724+00:00', 'runtime': '511320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511321120 ms) 2026-01-05 18:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:15:40.710718+00:00', 'runtime': '511260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511321121 ms) 2026-01-05 18:17:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511340084 ms) 2026-01-05 18:17:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511340085 ms) 2026-01-05 18:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:16:40.710857+00:00'} (T+511340088 ms) 2026-01-05 18:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511380082 ms) 2026-01-05 18:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511380083 ms) 2026-01-05 18:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511380083 ms) 2026-01-05 18:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511380084 ms) 2026-01-05 18:17:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511381123 ms) 2026-01-05 18:17:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511381124 ms) 2026-01-05 18:17:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:17:40.710813+00:00', 'runtime': '511380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511381126 ms) 2026-01-05 18:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:16:40.710724+00:00', 'runtime': '511320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511381127 ms) 2026-01-05 18:18:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511400088 ms) 2026-01-05 18:18:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511400089 ms) 2026-01-05 18:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:17:40.710892+00:00'} (T+511400092 ms) 2026-01-05 18:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511440082 ms) 2026-01-05 18:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511440083 ms) 2026-01-05 18:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511440083 ms) 2026-01-05 18:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511440084 ms) 2026-01-05 18:18:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511441113 ms) 2026-01-05 18:18:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511441114 ms) 2026-01-05 18:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:18:40.710744+00:00', 'runtime': '511440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511441115 ms) 2026-01-05 18:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:17:40.710813+00:00', 'runtime': '511380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511441115 ms) 2026-01-05 18:19:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511460088 ms) 2026-01-05 18:19:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511460089 ms) 2026-01-05 18:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:18:40.710860+00:00'} (T+511460092 ms) 2026-01-05 18:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511500083 ms) 2026-01-05 18:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511500084 ms) 2026-01-05 18:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511500084 ms) 2026-01-05 18:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511500084 ms) 2026-01-05 18:19:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511501115 ms) 2026-01-05 18:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511501116 ms) 2026-01-05 18:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:19:40.710769+00:00', 'runtime': '511500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511501117 ms) 2026-01-05 18:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:18:40.710744+00:00', 'runtime': '511440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511501117 ms) 2026-01-05 18:20:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511520092 ms) 2026-01-05 18:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511520093 ms) 2026-01-05 18:20:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:19:40.713233+00:00'} (T+511520096 ms) 2026-01-05 18:20:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511560077 ms) 2026-01-05 18:20:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511560078 ms) 2026-01-05 18:20:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511560078 ms) 2026-01-05 18:20:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511560078 ms) 2026-01-05 18:20:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511561116 ms) 2026-01-05 18:20:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511561117 ms) 2026-01-05 18:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:20:40.710723+00:00', 'runtime': '511560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511561119 ms) 2026-01-05 18:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:19:40.710769+00:00', 'runtime': '511500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511561119 ms) 2026-01-05 18:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511580091 ms) 2026-01-05 18:21:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511580092 ms) 2026-01-05 18:21:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:20:40.713243+00:00'} (T+511580095 ms) 2026-01-05 18:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511620083 ms) 2026-01-05 18:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511620083 ms) 2026-01-05 18:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511620084 ms) 2026-01-05 18:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511620084 ms) 2026-01-05 18:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511621114 ms) 2026-01-05 18:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511621115 ms) 2026-01-05 18:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:21:40.710717+00:00', 'runtime': '511620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511621116 ms) 2026-01-05 18:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:20:40.710723+00:00', 'runtime': '511560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511621116 ms) 2026-01-05 18:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511640088 ms) 2026-01-05 18:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511640089 ms) 2026-01-05 18:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:21:40.710841+00:00'} (T+511640092 ms) 2026-01-05 18:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511680083 ms) 2026-01-05 18:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511680084 ms) 2026-01-05 18:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511680084 ms) 2026-01-05 18:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511680084 ms) 2026-01-05 18:22:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511681117 ms) 2026-01-05 18:22:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511681117 ms) 2026-01-05 18:22:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:22:40.710740+00:00', 'runtime': '511680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511681118 ms) 2026-01-05 18:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:21:40.710717+00:00', 'runtime': '511620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511681119 ms) 2026-01-05 18:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511700090 ms) 2026-01-05 18:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511700091 ms) 2026-01-05 18:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:22:40.710860+00:00'} (T+511700094 ms) 2026-01-05 18:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511740084 ms) 2026-01-05 18:23:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511740084 ms) 2026-01-05 18:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511740084 ms) 2026-01-05 18:23:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511740085 ms) 2026-01-05 18:23:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511741117 ms) 2026-01-05 18:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511741118 ms) 2026-01-05 18:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:23:40.710785+00:00', 'runtime': '511740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511741119 ms) 2026-01-05 18:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:22:40.710740+00:00', 'runtime': '511680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511741119 ms) 2026-01-05 18:24:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511760084 ms) 2026-01-05 18:24:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511760085 ms) 2026-01-05 18:24:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:23:40.710872+00:00'} (T+511760086 ms) 2026-01-05 18:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511800083 ms) 2026-01-05 18:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511800084 ms) 2026-01-05 18:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511800084 ms) 2026-01-05 18:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511800084 ms) 2026-01-05 18:24:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511801120 ms) 2026-01-05 18:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511801120 ms) 2026-01-05 18:24:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:24:40.710816+00:00', 'runtime': '511800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511801121 ms) 2026-01-05 18:24:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:23:40.710785+00:00', 'runtime': '511740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511801121 ms) 2026-01-05 18:25:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511820090 ms) 2026-01-05 18:25:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511820091 ms) 2026-01-05 18:25:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:24:40.710893+00:00'} (T+511820094 ms) 2026-01-05 18:25:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511860082 ms) 2026-01-05 18:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511860083 ms) 2026-01-05 18:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511860083 ms) 2026-01-05 18:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511860083 ms) 2026-01-05 18:25:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511861116 ms) 2026-01-05 18:25:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511861116 ms) 2026-01-05 18:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:25:40.710734+00:00', 'runtime': '511860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511861117 ms) 2026-01-05 18:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:24:40.710816+00:00', 'runtime': '511800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511861118 ms) 2026-01-05 18:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511880090 ms) 2026-01-05 18:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511880091 ms) 2026-01-05 18:26:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:25:40.710817+00:00'} (T+511880094 ms) 2026-01-05 18:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511920083 ms) 2026-01-05 18:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511920084 ms) 2026-01-05 18:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511920084 ms) 2026-01-05 18:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511920085 ms) 2026-01-05 18:26:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511921124 ms) 2026-01-05 18:26:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511921125 ms) 2026-01-05 18:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:26:40.710777+00:00', 'runtime': '511920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511921127 ms) 2026-01-05 18:26:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:25:40.710734+00:00', 'runtime': '511860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511921128 ms) 2026-01-05 18:27:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511940087 ms) 2026-01-05 18:27:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+511940088 ms) 2026-01-05 18:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:26:40.710844+00:00'} (T+511940091 ms) 2026-01-05 18:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+511980083 ms) 2026-01-05 18:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+511980084 ms) 2026-01-05 18:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+511980084 ms) 2026-01-05 18:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+511980084 ms) 2026-01-05 18:27:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+511981117 ms) 2026-01-05 18:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+511981117 ms) 2026-01-05 18:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:27:40.710760+00:00', 'runtime': '511980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511981118 ms) 2026-01-05 18:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:26:40.710777+00:00', 'runtime': '511920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+511981119 ms) 2026-01-05 18:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512000090 ms) 2026-01-05 18:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512000091 ms) 2026-01-05 18:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:27:40.710855+00:00'} (T+512000093 ms) 2026-01-05 18:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512040083 ms) 2026-01-05 18:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512040083 ms) 2026-01-05 18:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512040084 ms) 2026-01-05 18:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512040084 ms) 2026-01-05 18:28:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512041118 ms) 2026-01-05 18:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512041119 ms) 2026-01-05 18:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:28:40.710823+00:00', 'runtime': '512040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512041121 ms) 2026-01-05 18:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:27:40.710760+00:00', 'runtime': '511980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512041121 ms) 2026-01-05 18:29:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512060087 ms) 2026-01-05 18:29:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512060088 ms) 2026-01-05 18:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:28:40.710921+00:00'} (T+512060091 ms) 2026-01-05 18:29:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512100077 ms) 2026-01-05 18:29:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512100078 ms) 2026-01-05 18:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512100078 ms) 2026-01-05 18:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512100078 ms) 2026-01-05 18:29:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512101113 ms) 2026-01-05 18:29:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512101113 ms) 2026-01-05 18:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:29:40.710704+00:00', 'runtime': '512100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512101115 ms) 2026-01-05 18:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:28:40.710823+00:00', 'runtime': '512040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512101116 ms) 2026-01-05 18:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512120088 ms) 2026-01-05 18:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512120090 ms) 2026-01-05 18:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:29:40.710811+00:00'} (T+512120093 ms) 2026-01-05 18:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512160083 ms) 2026-01-05 18:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512160083 ms) 2026-01-05 18:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512160084 ms) 2026-01-05 18:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512160084 ms) 2026-01-05 18:30:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512161119 ms) 2026-01-05 18:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512161119 ms) 2026-01-05 18:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:30:40.710749+00:00', 'runtime': '512160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512161121 ms) 2026-01-05 18:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:29:40.710704+00:00', 'runtime': '512100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512161121 ms) 2026-01-05 18:31:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512180085 ms) 2026-01-05 18:31:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512180086 ms) 2026-01-05 18:31:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:30:40.710852+00:00'} (T+512180089 ms) 2026-01-05 18:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512220083 ms) 2026-01-05 18:31:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512220084 ms) 2026-01-05 18:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512220084 ms) 2026-01-05 18:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512220084 ms) 2026-01-05 18:31:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512221113 ms) 2026-01-05 18:31:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512221114 ms) 2026-01-05 18:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:31:40.710764+00:00', 'runtime': '512220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512221115 ms) 2026-01-05 18:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:30:40.710749+00:00', 'runtime': '512160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512221115 ms) 2026-01-05 18:32:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512240091 ms) 2026-01-05 18:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512240092 ms) 2026-01-05 18:32:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:31:40.710855+00:00'} (T+512240095 ms) 2026-01-05 18:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512280083 ms) 2026-01-05 18:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512280083 ms) 2026-01-05 18:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512280083 ms) 2026-01-05 18:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512280084 ms) 2026-01-05 18:32:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512281121 ms) 2026-01-05 18:32:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512281122 ms) 2026-01-05 18:32:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:32:40.710826+00:00', 'runtime': '512280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512281124 ms) 2026-01-05 18:32:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:31:40.710764+00:00', 'runtime': '512220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512281125 ms) 2026-01-05 18:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512300090 ms) 2026-01-05 18:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512300091 ms) 2026-01-05 18:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:32:40.710920+00:00'} (T+512300093 ms) 2026-01-05 18:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512340082 ms) 2026-01-05 18:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512340083 ms) 2026-01-05 18:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512340083 ms) 2026-01-05 18:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512340084 ms) 2026-01-05 18:33:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512341115 ms) 2026-01-05 18:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512341116 ms) 2026-01-05 18:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:33:40.710739+00:00', 'runtime': '512340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512341117 ms) 2026-01-05 18:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:32:40.710826+00:00', 'runtime': '512280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512341117 ms) 2026-01-05 18:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512360087 ms) 2026-01-05 18:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512360088 ms) 2026-01-05 18:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:33:40.710846+00:00'} (T+512360091 ms) 2026-01-05 18:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512400082 ms) 2026-01-05 18:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512400083 ms) 2026-01-05 18:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512400083 ms) 2026-01-05 18:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512400083 ms) 2026-01-05 18:34:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512401119 ms) 2026-01-05 18:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512401120 ms) 2026-01-05 18:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:34:40.710745+00:00', 'runtime': '512400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512401121 ms) 2026-01-05 18:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:33:40.710739+00:00', 'runtime': '512340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512401121 ms) 2026-01-05 18:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512420090 ms) 2026-01-05 18:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512420092 ms) 2026-01-05 18:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:34:40.710842+00:00'} (T+512420094 ms) 2026-01-05 18:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512460083 ms) 2026-01-05 18:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512460083 ms) 2026-01-05 18:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512460083 ms) 2026-01-05 18:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512460084 ms) 2026-01-05 18:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512461116 ms) 2026-01-05 18:35:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512461117 ms) 2026-01-05 18:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:35:40.710749+00:00', 'runtime': '512460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512461118 ms) 2026-01-05 18:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:34:40.710745+00:00', 'runtime': '512400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512461118 ms) 2026-01-05 18:36:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512480090 ms) 2026-01-05 18:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512480091 ms) 2026-01-05 18:36:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:35:40.710844+00:00'} (T+512480094 ms) 2026-01-05 18:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512520083 ms) 2026-01-05 18:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512520083 ms) 2026-01-05 18:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512520084 ms) 2026-01-05 18:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512520084 ms) 2026-01-05 18:36:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512521120 ms) 2026-01-05 18:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512521120 ms) 2026-01-05 18:36:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:36:40.710755+00:00', 'runtime': '512520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512521121 ms) 2026-01-05 18:36:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:35:40.710749+00:00', 'runtime': '512460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512521122 ms) 2026-01-05 18:37:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512540087 ms) 2026-01-05 18:37:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512540088 ms) 2026-01-05 18:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:36:40.710858+00:00'} (T+512540091 ms) 2026-01-05 18:37:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512580077 ms) 2026-01-05 18:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512580078 ms) 2026-01-05 18:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512580078 ms) 2026-01-05 18:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512580078 ms) 2026-01-05 18:37:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512581115 ms) 2026-01-05 18:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512581116 ms) 2026-01-05 18:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:37:40.710745+00:00', 'runtime': '512580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512581119 ms) 2026-01-05 18:37:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:36:40.710755+00:00', 'runtime': '512520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512581120 ms) 2026-01-05 18:38:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512600084 ms) 2026-01-05 18:38:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512600085 ms) 2026-01-05 18:38:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:37:40.710861+00:00'} (T+512600087 ms) 2026-01-05 18:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512640083 ms) 2026-01-05 18:38:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512640084 ms) 2026-01-05 18:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512640084 ms) 2026-01-05 18:38:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512640085 ms) 2026-01-05 18:38:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512641119 ms) 2026-01-05 18:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512641120 ms) 2026-01-05 18:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:38:40.710718+00:00', 'runtime': '512640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512641121 ms) 2026-01-05 18:38:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:37:40.710745+00:00', 'runtime': '512580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512641121 ms) 2026-01-05 18:39:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512660086 ms) 2026-01-05 18:39:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512660087 ms) 2026-01-05 18:39:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:38:40.710840+00:00'} (T+512660090 ms) 2026-01-05 18:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512700082 ms) 2026-01-05 18:39:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512700083 ms) 2026-01-05 18:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512700083 ms) 2026-01-05 18:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512700083 ms) 2026-01-05 18:39:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512701116 ms) 2026-01-05 18:39:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512701116 ms) 2026-01-05 18:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:39:40.710705+00:00', 'runtime': '512700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512701117 ms) 2026-01-05 18:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:38:40.710718+00:00', 'runtime': '512640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512701118 ms) 2026-01-05 18:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512720090 ms) 2026-01-05 18:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512720091 ms) 2026-01-05 18:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:39:40.710863+00:00'} (T+512720093 ms) 2026-01-05 18:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512760083 ms) 2026-01-05 18:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512760083 ms) 2026-01-05 18:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512760084 ms) 2026-01-05 18:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512760084 ms) 2026-01-05 18:40:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512761118 ms) 2026-01-05 18:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512761119 ms) 2026-01-05 18:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:40:40.710772+00:00', 'runtime': '512760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512761120 ms) 2026-01-05 18:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:39:40.710705+00:00', 'runtime': '512700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512761120 ms) 2026-01-05 18:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512780090 ms) 2026-01-05 18:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512780091 ms) 2026-01-05 18:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:40:40.710867+00:00'} (T+512780094 ms) 2026-01-05 18:41:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512820077 ms) 2026-01-05 18:41:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512820077 ms) 2026-01-05 18:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512820078 ms) 2026-01-05 18:41:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512820078 ms) 2026-01-05 18:41:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512821114 ms) 2026-01-05 18:41:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512821115 ms) 2026-01-05 18:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:41:40.710754+00:00', 'runtime': '512820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512821118 ms) 2026-01-05 18:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:40:40.710772+00:00', 'runtime': '512760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512821119 ms) 2026-01-05 18:42:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512840087 ms) 2026-01-05 18:42:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512840088 ms) 2026-01-05 18:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:41:40.710869+00:00'} (T+512840091 ms) 2026-01-05 18:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512880083 ms) 2026-01-05 18:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512880084 ms) 2026-01-05 18:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512880084 ms) 2026-01-05 18:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512880084 ms) 2026-01-05 18:42:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512881117 ms) 2026-01-05 18:42:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512881118 ms) 2026-01-05 18:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:42:40.710741+00:00', 'runtime': '512880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512881119 ms) 2026-01-05 18:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:41:40.710754+00:00', 'runtime': '512820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512881119 ms) 2026-01-05 18:43:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512900088 ms) 2026-01-05 18:43:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512900089 ms) 2026-01-05 18:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:42:40.710857+00:00'} (T+512900090 ms) 2026-01-05 18:43:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+512940081 ms) 2026-01-05 18:43:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+512940081 ms) 2026-01-05 18:43:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+512940082 ms) 2026-01-05 18:43:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+512940082 ms) 2026-01-05 18:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+512941117 ms) 2026-01-05 18:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+512941118 ms) 2026-01-05 18:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:43:40.710733+00:00', 'runtime': '512940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512941120 ms) 2026-01-05 18:43:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:42:40.710741+00:00', 'runtime': '512880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+512941121 ms) 2026-01-05 18:44:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512960089 ms) 2026-01-05 18:44:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+512960090 ms) 2026-01-05 18:44:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:43:40.710845+00:00'} (T+512960093 ms) 2026-01-05 18:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513000082 ms) 2026-01-05 18:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513000083 ms) 2026-01-05 18:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513000083 ms) 2026-01-05 18:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513000084 ms) 2026-01-05 18:44:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513001119 ms) 2026-01-05 18:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513001119 ms) 2026-01-05 18:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:44:40.710744+00:00', 'runtime': '513000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513001120 ms) 2026-01-05 18:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:43:40.710733+00:00', 'runtime': '512940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513001121 ms) 2026-01-05 18:45:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513020091 ms) 2026-01-05 18:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513020092 ms) 2026-01-05 18:45:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:44:40.710870+00:00'} (T+513020095 ms) 2026-01-05 18:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513060083 ms) 2026-01-05 18:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513060083 ms) 2026-01-05 18:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513060084 ms) 2026-01-05 18:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513060084 ms) 2026-01-05 18:45:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513061116 ms) 2026-01-05 18:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513061117 ms) 2026-01-05 18:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:45:40.710758+00:00', 'runtime': '513060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513061117 ms) 2026-01-05 18:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:44:40.710744+00:00', 'runtime': '513000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513061118 ms) 2026-01-05 18:46:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513080093 ms) 2026-01-05 18:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513080094 ms) 2026-01-05 18:46:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:45:40.713239+00:00'} (T+513080097 ms) 2026-01-05 18:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513120083 ms) 2026-01-05 18:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513120083 ms) 2026-01-05 18:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513120084 ms) 2026-01-05 18:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513120084 ms) 2026-01-05 18:46:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513121122 ms) 2026-01-05 18:46:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513121123 ms) 2026-01-05 18:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:46:40.710777+00:00', 'runtime': '513120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513121125 ms) 2026-01-05 18:46:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:45:40.710758+00:00', 'runtime': '513060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513121126 ms) 2026-01-05 18:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513140087 ms) 2026-01-05 18:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513140088 ms) 2026-01-05 18:47:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:46:40.710841+00:00'} (T+513140090 ms) 2026-01-05 18:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513180082 ms) 2026-01-05 18:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513180083 ms) 2026-01-05 18:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513180083 ms) 2026-01-05 18:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513180084 ms) 2026-01-05 18:47:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513181116 ms) 2026-01-05 18:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513181117 ms) 2026-01-05 18:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:47:40.710718+00:00', 'runtime': '513180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513181118 ms) 2026-01-05 18:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:46:40.710777+00:00', 'runtime': '513120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513181118 ms) 2026-01-05 18:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513200087 ms) 2026-01-05 18:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513200088 ms) 2026-01-05 18:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:47:40.710858+00:00'} (T+513200091 ms) 2026-01-05 18:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513240083 ms) 2026-01-05 18:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513240083 ms) 2026-01-05 18:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513240084 ms) 2026-01-05 18:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513240084 ms) 2026-01-05 18:48:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513241117 ms) 2026-01-05 18:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513241117 ms) 2026-01-05 18:48:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:48:40.710715+00:00', 'runtime': '513240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513241118 ms) 2026-01-05 18:48:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:47:40.710718+00:00', 'runtime': '513180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513241119 ms) 2026-01-05 18:49:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513260088 ms) 2026-01-05 18:49:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513260089 ms) 2026-01-05 18:49:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:48:40.710834+00:00'} (T+513260092 ms) 2026-01-05 18:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513300082 ms) 2026-01-05 18:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513300083 ms) 2026-01-05 18:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513300083 ms) 2026-01-05 18:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513300084 ms) 2026-01-05 18:49:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513301121 ms) 2026-01-05 18:49:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513301123 ms) 2026-01-05 18:49:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:49:40.710790+00:00', 'runtime': '513300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513301126 ms) 2026-01-05 18:49:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:48:40.710715+00:00', 'runtime': '513240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513301127 ms) 2026-01-05 18:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513320087 ms) 2026-01-05 18:50:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513320088 ms) 2026-01-05 18:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:49:40.710847+00:00'} (T+513320091 ms) 2026-01-05 18:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513360083 ms) 2026-01-05 18:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513360084 ms) 2026-01-05 18:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513360084 ms) 2026-01-05 18:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513360084 ms) 2026-01-05 18:50:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513361113 ms) 2026-01-05 18:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513361114 ms) 2026-01-05 18:50:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:50:40.710808+00:00', 'runtime': '513360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513361115 ms) 2026-01-05 18:50:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:49:40.710790+00:00', 'runtime': '513300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513361115 ms) 2026-01-05 18:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513380087 ms) 2026-01-05 18:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513380088 ms) 2026-01-05 18:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:50:40.710845+00:00'} (T+513380091 ms) 2026-01-05 18:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513420083 ms) 2026-01-05 18:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513420084 ms) 2026-01-05 18:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513420084 ms) 2026-01-05 18:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513420084 ms) 2026-01-05 18:51:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513421121 ms) 2026-01-05 18:51:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513421121 ms) 2026-01-05 18:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:51:40.710778+00:00', 'runtime': '513420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513421122 ms) 2026-01-05 18:51:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:50:40.710808+00:00', 'runtime': '513360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513421124 ms) 2026-01-05 18:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513440087 ms) 2026-01-05 18:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513440088 ms) 2026-01-05 18:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:51:40.710883+00:00'} (T+513440091 ms) 2026-01-05 18:52:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513480084 ms) 2026-01-05 18:52:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513480084 ms) 2026-01-05 18:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513480085 ms) 2026-01-05 18:52:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513480085 ms) 2026-01-05 18:52:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513481124 ms) 2026-01-05 18:52:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513481125 ms) 2026-01-05 18:52:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:52:40.710736+00:00', 'runtime': '513480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513481127 ms) 2026-01-05 18:52:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:51:40.710778+00:00', 'runtime': '513420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513481127 ms) 2026-01-05 18:53:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513500087 ms) 2026-01-05 18:53:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513500088 ms) 2026-01-05 18:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:52:40.710830+00:00'} (T+513500090 ms) 2026-01-05 18:53:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513540084 ms) 2026-01-05 18:53:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513540085 ms) 2026-01-05 18:53:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513540085 ms) 2026-01-05 18:53:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513540086 ms) 2026-01-05 18:53:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513541120 ms) 2026-01-05 18:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513541120 ms) 2026-01-05 18:53:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:53:40.713154+00:00', 'runtime': '513540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513541121 ms) 2026-01-05 18:53:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:52:40.710736+00:00', 'runtime': '513480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513541121 ms) 2026-01-05 18:54:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513560088 ms) 2026-01-05 18:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513560089 ms) 2026-01-05 18:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:53:40.710828+00:00'} (T+513560092 ms) 2026-01-05 18:54:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513600083 ms) 2026-01-05 18:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513600083 ms) 2026-01-05 18:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513600084 ms) 2026-01-05 18:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513600084 ms) 2026-01-05 18:54:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513601124 ms) 2026-01-05 18:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513601125 ms) 2026-01-05 18:54:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:54:40.710785+00:00', 'runtime': '513600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513601127 ms) 2026-01-05 18:54:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:53:40.713154+00:00', 'runtime': '513540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513601128 ms) 2026-01-05 18:55:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513620089 ms) 2026-01-05 18:55:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513620090 ms) 2026-01-05 18:55:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:54:40.710877+00:00'} (T+513620092 ms) 2026-01-05 18:55:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513660083 ms) 2026-01-05 18:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513660083 ms) 2026-01-05 18:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513660084 ms) 2026-01-05 18:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513660084 ms) 2026-01-05 18:55:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513661113 ms) 2026-01-05 18:55:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513661113 ms) 2026-01-05 18:55:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:55:40.710738+00:00', 'runtime': '513660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513661114 ms) 2026-01-05 18:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:54:40.710785+00:00', 'runtime': '513600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513661116 ms) 2026-01-05 18:56:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513680089 ms) 2026-01-05 18:56:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513680090 ms) 2026-01-05 18:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:55:40.710859+00:00'} (T+513680092 ms) 2026-01-05 18:56:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513720054 ms) 2026-01-05 18:56:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513720054 ms) 2026-01-05 18:56:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513720054 ms) 2026-01-05 18:56:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513720054 ms) 2026-01-05 18:56:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513721080 ms) 2026-01-05 18:56:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513721080 ms) 2026-01-05 18:56:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:56:40.710544+00:00', 'runtime': '513720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513721081 ms) 2026-01-05 18:56:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:55:40.710738+00:00', 'runtime': '513660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513721081 ms) 2026-01-05 18:57:00.749 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513740070 ms) 2026-01-05 18:57:00.750 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513740071 ms) 2026-01-05 18:57:00.753 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:56:40.710603+00:00'} (T+513740074 ms) 2026-01-05 18:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513780083 ms) 2026-01-05 18:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513780083 ms) 2026-01-05 18:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513780084 ms) 2026-01-05 18:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513780084 ms) 2026-01-05 18:57:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513781119 ms) 2026-01-05 18:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513781119 ms) 2026-01-05 18:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:57:40.710746+00:00', 'runtime': '513780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513781120 ms) 2026-01-05 18:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:56:40.710544+00:00', 'runtime': '513720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513781121 ms) 2026-01-05 18:58:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513800087 ms) 2026-01-05 18:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513800088 ms) 2026-01-05 18:58:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:57:40.710847+00:00'} (T+513800090 ms) 2026-01-05 18:58:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513840077 ms) 2026-01-05 18:58:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513840077 ms) 2026-01-05 18:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513840077 ms) 2026-01-05 18:58:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513840078 ms) 2026-01-05 18:58:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513841113 ms) 2026-01-05 18:58:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513841114 ms) 2026-01-05 18:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:58:40.710734+00:00', 'runtime': '513840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513841116 ms) 2026-01-05 18:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:57:40.710746+00:00', 'runtime': '513780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513841116 ms) 2026-01-05 18:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513860087 ms) 2026-01-05 18:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513860088 ms) 2026-01-05 18:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:58:40.710861+00:00'} (T+513860091 ms) 2026-01-05 18:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513900082 ms) 2026-01-05 18:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513900083 ms) 2026-01-05 18:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513900083 ms) 2026-01-05 18:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513900084 ms) 2026-01-05 18:59:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513901118 ms) 2026-01-05 18:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513901118 ms) 2026-01-05 18:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 18:59:40.710761+00:00', 'runtime': '513900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513901119 ms) 2026-01-05 18:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:58:40.710734+00:00', 'runtime': '513840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513901120 ms) 2026-01-05 19:00:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513920087 ms) 2026-01-05 19:00:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513920088 ms) 2026-01-05 19:00:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 18:59:40.710852+00:00'} (T+513920090 ms) 2026-01-05 19:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+513960083 ms) 2026-01-05 19:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+513960083 ms) 2026-01-05 19:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+513960084 ms) 2026-01-05 19:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+513960084 ms) 2026-01-05 19:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+513961123 ms) 2026-01-05 19:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+513961124 ms) 2026-01-05 19:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:00:40.710787+00:00', 'runtime': '513960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513961126 ms) 2026-01-05 19:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 18:59:40.710761+00:00', 'runtime': '513900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+513961127 ms) 2026-01-05 19:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513980087 ms) 2026-01-05 19:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+513980088 ms) 2026-01-05 19:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:00:40.710842+00:00'} (T+513980091 ms) 2026-01-05 19:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514020083 ms) 2026-01-05 19:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514020083 ms) 2026-01-05 19:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514020083 ms) 2026-01-05 19:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514020084 ms) 2026-01-05 19:01:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514021116 ms) 2026-01-05 19:01:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514021116 ms) 2026-01-05 19:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:01:40.710718+00:00', 'runtime': '514020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514021117 ms) 2026-01-05 19:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:00:40.710787+00:00', 'runtime': '513960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514021117 ms) 2026-01-05 19:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514040090 ms) 2026-01-05 19:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514040092 ms) 2026-01-05 19:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:01:40.710848+00:00'} (T+514040095 ms) 2026-01-05 19:02:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514080079 ms) 2026-01-05 19:02:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514080079 ms) 2026-01-05 19:02:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514080079 ms) 2026-01-05 19:02:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514080080 ms) 2026-01-05 19:02:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514081114 ms) 2026-01-05 19:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514081115 ms) 2026-01-05 19:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:02:40.710721+00:00', 'runtime': '514080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514081116 ms) 2026-01-05 19:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:01:40.710718+00:00', 'runtime': '514020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514081117 ms) 2026-01-05 19:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514100090 ms) 2026-01-05 19:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514100091 ms) 2026-01-05 19:03:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:02:40.710810+00:00'} (T+514100094 ms) 2026-01-05 19:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514140083 ms) 2026-01-05 19:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514140083 ms) 2026-01-05 19:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514140084 ms) 2026-01-05 19:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514140084 ms) 2026-01-05 19:03:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514141122 ms) 2026-01-05 19:03:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514141123 ms) 2026-01-05 19:03:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:03:40.710780+00:00', 'runtime': '514140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514141126 ms) 2026-01-05 19:03:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:02:40.710721+00:00', 'runtime': '514080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514141127 ms) 2026-01-05 19:04:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514160088 ms) 2026-01-05 19:04:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514160089 ms) 2026-01-05 19:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:03:40.710834+00:00'} (T+514160092 ms) 2026-01-05 19:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514200084 ms) 2026-01-05 19:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514200084 ms) 2026-01-05 19:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514200084 ms) 2026-01-05 19:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514200085 ms) 2026-01-05 19:04:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514201123 ms) 2026-01-05 19:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514201124 ms) 2026-01-05 19:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:04:40.710760+00:00', 'runtime': '514200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514201126 ms) 2026-01-05 19:04:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:03:40.710780+00:00', 'runtime': '514140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514201127 ms) 2026-01-05 19:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514220090 ms) 2026-01-05 19:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514220091 ms) 2026-01-05 19:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:04:40.710864+00:00'} (T+514220094 ms) 2026-01-05 19:05:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514260078 ms) 2026-01-05 19:05:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514260078 ms) 2026-01-05 19:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514260078 ms) 2026-01-05 19:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514260079 ms) 2026-01-05 19:05:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514261114 ms) 2026-01-05 19:05:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514261115 ms) 2026-01-05 19:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:05:40.710745+00:00', 'runtime': '514260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514261117 ms) 2026-01-05 19:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:04:40.710760+00:00', 'runtime': '514200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514261118 ms) 2026-01-05 19:06:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514280087 ms) 2026-01-05 19:06:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514280088 ms) 2026-01-05 19:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:05:40.710857+00:00'} (T+514280091 ms) 2026-01-05 19:06:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514320054 ms) 2026-01-05 19:06:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514320054 ms) 2026-01-05 19:06:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514320054 ms) 2026-01-05 19:06:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514320054 ms) 2026-01-05 19:06:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514321080 ms) 2026-01-05 19:06:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514321080 ms) 2026-01-05 19:06:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:06:40.710534+00:00', 'runtime': '514320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514321081 ms) 2026-01-05 19:06:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:05:40.710745+00:00', 'runtime': '514260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514321082 ms) 2026-01-05 19:07:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514340072 ms) 2026-01-05 19:07:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514340073 ms) 2026-01-05 19:07:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:06:40.710596+00:00'} (T+514340076 ms) 2026-01-05 19:07:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514380077 ms) 2026-01-05 19:07:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514380078 ms) 2026-01-05 19:07:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514380078 ms) 2026-01-05 19:07:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514380078 ms) 2026-01-05 19:07:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514381113 ms) 2026-01-05 19:07:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514381114 ms) 2026-01-05 19:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:07:40.710800+00:00', 'runtime': '514380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514381116 ms) 2026-01-05 19:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:06:40.710534+00:00', 'runtime': '514320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514381117 ms) 2026-01-05 19:08:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514400089 ms) 2026-01-05 19:08:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514400090 ms) 2026-01-05 19:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:07:40.710896+00:00'} (T+514400092 ms) 2026-01-05 19:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514440082 ms) 2026-01-05 19:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514440083 ms) 2026-01-05 19:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514440083 ms) 2026-01-05 19:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514440084 ms) 2026-01-05 19:08:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514441123 ms) 2026-01-05 19:08:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514441124 ms) 2026-01-05 19:08:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:08:40.710761+00:00', 'runtime': '514440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514441126 ms) 2026-01-05 19:08:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:07:40.710800+00:00', 'runtime': '514380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514441127 ms) 2026-01-05 19:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514460087 ms) 2026-01-05 19:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514460088 ms) 2026-01-05 19:09:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:08:40.710861+00:00'} (T+514460090 ms) 2026-01-05 19:09:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514500081 ms) 2026-01-05 19:09:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514500081 ms) 2026-01-05 19:09:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514500081 ms) 2026-01-05 19:09:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514500082 ms) 2026-01-05 19:09:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514501117 ms) 2026-01-05 19:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514501118 ms) 2026-01-05 19:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:09:40.710738+00:00', 'runtime': '514500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514501120 ms) 2026-01-05 19:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:08:40.710761+00:00', 'runtime': '514440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514501120 ms) 2026-01-05 19:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514520087 ms) 2026-01-05 19:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514520088 ms) 2026-01-05 19:10:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:09:40.710898+00:00'} (T+514520090 ms) 2026-01-05 19:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514560083 ms) 2026-01-05 19:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514560084 ms) 2026-01-05 19:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514560084 ms) 2026-01-05 19:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514560085 ms) 2026-01-05 19:10:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514561118 ms) 2026-01-05 19:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514561119 ms) 2026-01-05 19:10:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:10:40.710728+00:00', 'runtime': '514560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514561120 ms) 2026-01-05 19:10:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:09:40.710738+00:00', 'runtime': '514500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514561120 ms) 2026-01-05 19:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514580090 ms) 2026-01-05 19:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514580091 ms) 2026-01-05 19:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:10:40.710819+00:00'} (T+514580094 ms) 2026-01-05 19:11:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514620054 ms) 2026-01-05 19:11:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514620054 ms) 2026-01-05 19:11:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514620054 ms) 2026-01-05 19:11:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514620054 ms) 2026-01-05 19:11:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514621080 ms) 2026-01-05 19:11:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514621080 ms) 2026-01-05 19:11:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:11:40.710527+00:00', 'runtime': '514620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514621081 ms) 2026-01-05 19:11:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:10:40.710728+00:00', 'runtime': '514560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514621082 ms) 2026-01-05 19:12:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514640072 ms) 2026-01-05 19:12:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514640073 ms) 2026-01-05 19:12:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:11:40.710600+00:00'} (T+514640075 ms) 2026-01-05 19:12:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514680084 ms) 2026-01-05 19:12:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514680085 ms) 2026-01-05 19:12:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514680085 ms) 2026-01-05 19:12:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514680086 ms) 2026-01-05 19:12:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514681124 ms) 2026-01-05 19:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514681125 ms) 2026-01-05 19:12:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:12:40.713160+00:00', 'runtime': '514680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514681127 ms) 2026-01-05 19:12:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:11:40.710527+00:00', 'runtime': '514620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514681128 ms) 2026-01-05 19:13:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514700087 ms) 2026-01-05 19:13:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514700088 ms) 2026-01-05 19:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:12:40.710873+00:00'} (T+514700091 ms) 2026-01-05 19:13:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514740078 ms) 2026-01-05 19:13:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514740079 ms) 2026-01-05 19:13:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514740079 ms) 2026-01-05 19:13:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514740079 ms) 2026-01-05 19:13:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514741113 ms) 2026-01-05 19:13:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514741114 ms) 2026-01-05 19:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:13:40.710717+00:00', 'runtime': '514740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514741117 ms) 2026-01-05 19:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:12:40.713160+00:00', 'runtime': '514680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514741117 ms) 2026-01-05 19:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514760090 ms) 2026-01-05 19:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514760092 ms) 2026-01-05 19:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:13:40.710839+00:00'} (T+514760094 ms) 2026-01-05 19:14:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514800077 ms) 2026-01-05 19:14:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514800077 ms) 2026-01-05 19:14:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514800077 ms) 2026-01-05 19:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514800078 ms) 2026-01-05 19:14:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514801114 ms) 2026-01-05 19:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514801115 ms) 2026-01-05 19:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:14:40.710763+00:00', 'runtime': '514800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514801117 ms) 2026-01-05 19:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:13:40.710717+00:00', 'runtime': '514740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514801117 ms) 2026-01-05 19:15:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514820087 ms) 2026-01-05 19:15:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514820089 ms) 2026-01-05 19:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:14:40.710859+00:00'} (T+514820092 ms) 2026-01-05 19:15:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514860086 ms) 2026-01-05 19:15:40.766 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514860087 ms) 2026-01-05 19:15:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514860087 ms) 2026-01-05 19:15:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514860088 ms) 2026-01-05 19:15:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514861122 ms) 2026-01-05 19:15:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514861123 ms) 2026-01-05 19:15:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:15:40.713161+00:00', 'runtime': '514860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514861124 ms) 2026-01-05 19:15:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:14:40.710763+00:00', 'runtime': '514800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514861124 ms) 2026-01-05 19:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514880090 ms) 2026-01-05 19:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514880091 ms) 2026-01-05 19:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:15:40.710840+00:00'} (T+514880094 ms) 2026-01-05 19:16:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514920054 ms) 2026-01-05 19:16:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514920054 ms) 2026-01-05 19:16:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514920054 ms) 2026-01-05 19:16:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514920054 ms) 2026-01-05 19:16:41.764 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514921085 ms) 2026-01-05 19:16:41.765 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514921086 ms) 2026-01-05 19:16:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:16:40.710526+00:00', 'runtime': '514920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514921090 ms) 2026-01-05 19:16:41.769 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:15:40.713161+00:00', 'runtime': '514860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514921091 ms) 2026-01-05 19:17:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514940071 ms) 2026-01-05 19:17:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+514940072 ms) 2026-01-05 19:17:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:16:40.710608+00:00'} (T+514940075 ms) 2026-01-05 19:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+514980083 ms) 2026-01-05 19:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+514980083 ms) 2026-01-05 19:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+514980083 ms) 2026-01-05 19:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+514980084 ms) 2026-01-05 19:17:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+514981120 ms) 2026-01-05 19:17:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+514981121 ms) 2026-01-05 19:17:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:17:40.710760+00:00', 'runtime': '514980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514981123 ms) 2026-01-05 19:17:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:16:40.710526+00:00', 'runtime': '514920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+514981124 ms) 2026-01-05 19:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515000087 ms) 2026-01-05 19:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515000088 ms) 2026-01-05 19:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:17:40.710871+00:00'} (T+515000091 ms) 2026-01-05 19:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515040082 ms) 2026-01-05 19:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515040083 ms) 2026-01-05 19:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515040083 ms) 2026-01-05 19:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515040084 ms) 2026-01-05 19:18:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515041119 ms) 2026-01-05 19:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515041119 ms) 2026-01-05 19:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:18:40.710766+00:00', 'runtime': '515040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515041120 ms) 2026-01-05 19:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:17:40.710760+00:00', 'runtime': '514980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515041121 ms) 2026-01-05 19:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515060090 ms) 2026-01-05 19:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515060091 ms) 2026-01-05 19:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:18:40.710862+00:00'} (T+515060094 ms) 2026-01-05 19:19:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515100076 ms) 2026-01-05 19:19:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515100077 ms) 2026-01-05 19:19:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515100077 ms) 2026-01-05 19:19:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515100077 ms) 2026-01-05 19:19:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515101112 ms) 2026-01-05 19:19:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515101113 ms) 2026-01-05 19:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:19:40.710724+00:00', 'runtime': '515100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515101117 ms) 2026-01-05 19:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:18:40.710766+00:00', 'runtime': '515040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515101117 ms) 2026-01-05 19:20:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515120088 ms) 2026-01-05 19:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515120089 ms) 2026-01-05 19:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:19:40.710857+00:00'} (T+515120092 ms) 2026-01-05 19:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515160082 ms) 2026-01-05 19:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515160083 ms) 2026-01-05 19:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515160084 ms) 2026-01-05 19:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515160084 ms) 2026-01-05 19:20:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515161124 ms) 2026-01-05 19:20:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515161125 ms) 2026-01-05 19:20:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:20:40.710729+00:00', 'runtime': '515160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515161127 ms) 2026-01-05 19:20:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:19:40.710724+00:00', 'runtime': '515100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515161128 ms) 2026-01-05 19:21:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515180087 ms) 2026-01-05 19:21:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515180088 ms) 2026-01-05 19:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:20:40.710836+00:00'} (T+515180091 ms) 2026-01-05 19:21:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515220053 ms) 2026-01-05 19:21:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515220054 ms) 2026-01-05 19:21:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515220054 ms) 2026-01-05 19:21:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515220054 ms) 2026-01-05 19:21:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515221079 ms) 2026-01-05 19:21:41.758 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515221080 ms) 2026-01-05 19:21:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:21:40.710518+00:00', 'runtime': '515220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515221080 ms) 2026-01-05 19:21:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:20:40.710729+00:00', 'runtime': '515160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515221081 ms) 2026-01-05 19:22:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515240071 ms) 2026-01-05 19:22:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515240072 ms) 2026-01-05 19:22:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:21:40.710591+00:00'} (T+515240075 ms) 2026-01-05 19:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515280083 ms) 2026-01-05 19:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515280083 ms) 2026-01-05 19:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515280084 ms) 2026-01-05 19:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515280084 ms) 2026-01-05 19:22:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515281122 ms) 2026-01-05 19:22:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515281123 ms) 2026-01-05 19:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:22:40.710835+00:00', 'runtime': '515280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515281125 ms) 2026-01-05 19:22:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:21:40.710518+00:00', 'runtime': '515220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515281126 ms) 2026-01-05 19:23:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515300087 ms) 2026-01-05 19:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515300088 ms) 2026-01-05 19:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:22:40.710890+00:00'} (T+515300091 ms) 2026-01-05 19:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515340083 ms) 2026-01-05 19:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515340084 ms) 2026-01-05 19:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515340084 ms) 2026-01-05 19:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515340084 ms) 2026-01-05 19:23:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515341117 ms) 2026-01-05 19:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515341118 ms) 2026-01-05 19:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:23:40.710722+00:00', 'runtime': '515340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515341119 ms) 2026-01-05 19:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:22:40.710835+00:00', 'runtime': '515280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515341119 ms) 2026-01-05 19:24:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515360093 ms) 2026-01-05 19:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515360094 ms) 2026-01-05 19:24:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:23:40.713242+00:00'} (T+515360097 ms) 2026-01-05 19:24:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515400085 ms) 2026-01-05 19:24:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515400085 ms) 2026-01-05 19:24:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515400085 ms) 2026-01-05 19:24:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515400086 ms) 2026-01-05 19:24:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515401115 ms) 2026-01-05 19:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515401115 ms) 2026-01-05 19:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:24:40.713186+00:00', 'runtime': '515400.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515401117 ms) 2026-01-05 19:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:23:40.710722+00:00', 'runtime': '515340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515401118 ms) 2026-01-05 19:25:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515420091 ms) 2026-01-05 19:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515420092 ms) 2026-01-05 19:25:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:24:40.710802+00:00'} (T+515420095 ms) 2026-01-05 19:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515460083 ms) 2026-01-05 19:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515460084 ms) 2026-01-05 19:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515460084 ms) 2026-01-05 19:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515460085 ms) 2026-01-05 19:25:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515461117 ms) 2026-01-05 19:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515461117 ms) 2026-01-05 19:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:25:40.710761+00:00', 'runtime': '515460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515461118 ms) 2026-01-05 19:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:24:40.713186+00:00', 'runtime': '515400.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515461119 ms) 2026-01-05 19:26:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515480091 ms) 2026-01-05 19:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515480092 ms) 2026-01-05 19:26:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:25:40.710837+00:00'} (T+515480095 ms) 2026-01-05 19:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515520082 ms) 2026-01-05 19:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515520083 ms) 2026-01-05 19:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515520083 ms) 2026-01-05 19:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515520084 ms) 2026-01-05 19:26:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515521120 ms) 2026-01-05 19:26:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515521121 ms) 2026-01-05 19:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:26:40.710766+00:00', 'runtime': '515520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515521123 ms) 2026-01-05 19:26:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:25:40.710761+00:00', 'runtime': '515460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515521124 ms) 2026-01-05 19:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515540090 ms) 2026-01-05 19:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515540091 ms) 2026-01-05 19:27:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:26:40.710853+00:00'} (T+515540093 ms) 2026-01-05 19:27:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515580077 ms) 2026-01-05 19:27:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515580078 ms) 2026-01-05 19:27:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515580078 ms) 2026-01-05 19:27:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515580078 ms) 2026-01-05 19:27:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515581113 ms) 2026-01-05 19:27:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515581114 ms) 2026-01-05 19:27:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:27:40.710709+00:00', 'runtime': '515580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515581116 ms) 2026-01-05 19:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:26:40.710766+00:00', 'runtime': '515520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515581117 ms) 2026-01-05 19:28:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515600087 ms) 2026-01-05 19:28:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515600088 ms) 2026-01-05 19:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:27:40.713238+00:00'} (T+515600094 ms) 2026-01-05 19:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515640083 ms) 2026-01-05 19:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515640083 ms) 2026-01-05 19:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515640084 ms) 2026-01-05 19:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515640084 ms) 2026-01-05 19:28:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515641115 ms) 2026-01-05 19:28:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515641116 ms) 2026-01-05 19:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:28:40.710717+00:00', 'runtime': '515640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515641117 ms) 2026-01-05 19:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:27:40.710709+00:00', 'runtime': '515580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515641117 ms) 2026-01-05 19:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515660091 ms) 2026-01-05 19:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515660092 ms) 2026-01-05 19:29:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:28:40.710857+00:00'} (T+515660095 ms) 2026-01-05 19:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515700083 ms) 2026-01-05 19:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515700084 ms) 2026-01-05 19:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515700084 ms) 2026-01-05 19:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515700084 ms) 2026-01-05 19:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515701116 ms) 2026-01-05 19:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515701116 ms) 2026-01-05 19:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:29:40.710734+00:00', 'runtime': '515700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515701117 ms) 2026-01-05 19:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:28:40.710717+00:00', 'runtime': '515640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515701117 ms) 2026-01-05 19:30:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515720091 ms) 2026-01-05 19:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515720092 ms) 2026-01-05 19:30:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:29:40.710842+00:00'} (T+515720094 ms) 2026-01-05 19:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515760082 ms) 2026-01-05 19:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515760083 ms) 2026-01-05 19:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515760083 ms) 2026-01-05 19:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515760083 ms) 2026-01-05 19:30:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515761116 ms) 2026-01-05 19:30:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515761116 ms) 2026-01-05 19:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:30:40.710750+00:00', 'runtime': '515760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515761117 ms) 2026-01-05 19:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:29:40.710734+00:00', 'runtime': '515700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515761118 ms) 2026-01-05 19:31:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515780091 ms) 2026-01-05 19:31:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515780092 ms) 2026-01-05 19:31:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:30:40.710847+00:00'} (T+515780095 ms) 2026-01-05 19:31:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515820054 ms) 2026-01-05 19:31:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515820054 ms) 2026-01-05 19:31:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515820054 ms) 2026-01-05 19:31:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515820054 ms) 2026-01-05 19:31:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515821080 ms) 2026-01-05 19:31:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515821080 ms) 2026-01-05 19:31:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:31:40.710557+00:00', 'runtime': '515820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515821081 ms) 2026-01-05 19:31:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:30:40.710750+00:00', 'runtime': '515760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515821082 ms) 2026-01-05 19:32:00.752 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515840073 ms) 2026-01-05 19:32:00.753 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515840074 ms) 2026-01-05 19:32:00.756 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:31:40.710611+00:00'} (T+515840077 ms) 2026-01-05 19:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515880082 ms) 2026-01-05 19:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515880083 ms) 2026-01-05 19:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515880083 ms) 2026-01-05 19:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515880084 ms) 2026-01-05 19:32:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515881112 ms) 2026-01-05 19:32:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515881113 ms) 2026-01-05 19:32:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:32:40.710793+00:00', 'runtime': '515880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515881114 ms) 2026-01-05 19:32:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:31:40.710557+00:00', 'runtime': '515820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515881114 ms) 2026-01-05 19:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515900090 ms) 2026-01-05 19:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515900091 ms) 2026-01-05 19:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:32:40.710889+00:00'} (T+515900093 ms) 2026-01-05 19:33:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+515940077 ms) 2026-01-05 19:33:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+515940078 ms) 2026-01-05 19:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+515940078 ms) 2026-01-05 19:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+515940078 ms) 2026-01-05 19:33:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+515941114 ms) 2026-01-05 19:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+515941115 ms) 2026-01-05 19:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:33:40.710748+00:00', 'runtime': '515940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515941117 ms) 2026-01-05 19:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:32:40.710793+00:00', 'runtime': '515880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+515941118 ms) 2026-01-05 19:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515960088 ms) 2026-01-05 19:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+515960089 ms) 2026-01-05 19:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:33:40.710858+00:00'} (T+515960092 ms) 2026-01-05 19:34:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516000084 ms) 2026-01-05 19:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516000085 ms) 2026-01-05 19:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516000085 ms) 2026-01-05 19:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516000085 ms) 2026-01-05 19:34:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516001118 ms) 2026-01-05 19:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516001119 ms) 2026-01-05 19:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:34:40.710727+00:00', 'runtime': '516000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516001120 ms) 2026-01-05 19:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:33:40.710748+00:00', 'runtime': '515940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516001120 ms) 2026-01-05 19:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516020090 ms) 2026-01-05 19:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516020091 ms) 2026-01-05 19:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:34:40.710815+00:00'} (T+516020094 ms) 2026-01-05 19:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516060083 ms) 2026-01-05 19:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516060084 ms) 2026-01-05 19:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516060084 ms) 2026-01-05 19:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516060084 ms) 2026-01-05 19:35:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516061118 ms) 2026-01-05 19:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516061119 ms) 2026-01-05 19:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:35:40.710758+00:00', 'runtime': '516060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516061120 ms) 2026-01-05 19:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:34:40.710727+00:00', 'runtime': '516000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516061120 ms) 2026-01-05 19:36:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516080091 ms) 2026-01-05 19:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516080092 ms) 2026-01-05 19:36:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:35:40.710849+00:00'} (T+516080095 ms) 2026-01-05 19:36:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516120054 ms) 2026-01-05 19:36:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516120054 ms) 2026-01-05 19:36:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516120054 ms) 2026-01-05 19:36:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516120054 ms) 2026-01-05 19:36:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516121082 ms) 2026-01-05 19:36:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516121083 ms) 2026-01-05 19:36:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:36:40.710545+00:00', 'runtime': '516120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516121084 ms) 2026-01-05 19:36:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:35:40.710758+00:00', 'runtime': '516060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516121084 ms) 2026-01-05 19:37:00.753 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516140074 ms) 2026-01-05 19:37:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516140075 ms) 2026-01-05 19:37:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:36:40.712976+00:00'} (T+516140078 ms) 2026-01-05 19:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516180083 ms) 2026-01-05 19:37:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516180084 ms) 2026-01-05 19:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516180084 ms) 2026-01-05 19:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516180084 ms) 2026-01-05 19:37:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516181118 ms) 2026-01-05 19:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516181118 ms) 2026-01-05 19:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:37:40.710767+00:00', 'runtime': '516180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516181119 ms) 2026-01-05 19:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:36:40.710545+00:00', 'runtime': '516120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516181119 ms) 2026-01-05 19:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516200087 ms) 2026-01-05 19:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516200088 ms) 2026-01-05 19:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:37:40.710860+00:00'} (T+516200091 ms) 2026-01-05 19:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516240082 ms) 2026-01-05 19:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516240083 ms) 2026-01-05 19:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516240083 ms) 2026-01-05 19:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516240083 ms) 2026-01-05 19:38:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516241113 ms) 2026-01-05 19:38:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516241114 ms) 2026-01-05 19:38:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:38:40.710739+00:00', 'runtime': '516240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516241115 ms) 2026-01-05 19:38:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:37:40.710767+00:00', 'runtime': '516180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516241115 ms) 2026-01-05 19:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516260090 ms) 2026-01-05 19:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516260091 ms) 2026-01-05 19:39:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:38:40.710822+00:00'} (T+516260096 ms) 2026-01-05 19:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516300082 ms) 2026-01-05 19:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516300083 ms) 2026-01-05 19:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516300083 ms) 2026-01-05 19:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516300084 ms) 2026-01-05 19:39:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516301124 ms) 2026-01-05 19:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516301125 ms) 2026-01-05 19:39:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:39:40.710762+00:00', 'runtime': '516300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516301127 ms) 2026-01-05 19:39:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:38:40.710739+00:00', 'runtime': '516240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516301128 ms) 2026-01-05 19:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516320090 ms) 2026-01-05 19:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516320091 ms) 2026-01-05 19:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:39:40.710850+00:00'} (T+516320093 ms) 2026-01-05 19:40:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516360076 ms) 2026-01-05 19:40:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516360077 ms) 2026-01-05 19:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516360077 ms) 2026-01-05 19:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516360077 ms) 2026-01-05 19:40:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516361113 ms) 2026-01-05 19:40:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516361114 ms) 2026-01-05 19:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:40:40.710731+00:00', 'runtime': '516360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516361116 ms) 2026-01-05 19:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:39:40.710762+00:00', 'runtime': '516300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516361117 ms) 2026-01-05 19:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516380088 ms) 2026-01-05 19:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516380089 ms) 2026-01-05 19:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:40:40.710860+00:00'} (T+516380091 ms) 2026-01-05 19:41:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516420054 ms) 2026-01-05 19:41:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516420054 ms) 2026-01-05 19:41:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516420054 ms) 2026-01-05 19:41:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516420054 ms) 2026-01-05 19:41:41.764 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516421086 ms) 2026-01-05 19:41:41.765 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516421087 ms) 2026-01-05 19:41:41.767 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:41:40.710535+00:00', 'runtime': '516420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516421089 ms) 2026-01-05 19:41:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:40:40.710731+00:00', 'runtime': '516360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516421089 ms) 2026-01-05 19:42:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516440072 ms) 2026-01-05 19:42:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516440073 ms) 2026-01-05 19:42:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:41:40.710616+00:00'} (T+516440076 ms) 2026-01-05 19:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516480083 ms) 2026-01-05 19:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516480084 ms) 2026-01-05 19:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516480084 ms) 2026-01-05 19:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516480085 ms) 2026-01-05 19:42:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516481119 ms) 2026-01-05 19:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516481119 ms) 2026-01-05 19:42:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:42:40.710770+00:00', 'runtime': '516480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516481120 ms) 2026-01-05 19:42:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:41:40.710535+00:00', 'runtime': '516420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516481121 ms) 2026-01-05 19:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516500090 ms) 2026-01-05 19:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516500092 ms) 2026-01-05 19:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:42:40.710869+00:00'} (T+516500093 ms) 2026-01-05 19:43:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516540084 ms) 2026-01-05 19:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516540084 ms) 2026-01-05 19:43:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516540085 ms) 2026-01-05 19:43:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516540085 ms) 2026-01-05 19:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516541118 ms) 2026-01-05 19:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516541118 ms) 2026-01-05 19:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:43:40.710737+00:00', 'runtime': '516540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516541119 ms) 2026-01-05 19:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:42:40.710770+00:00', 'runtime': '516480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516541120 ms) 2026-01-05 19:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516560090 ms) 2026-01-05 19:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516560091 ms) 2026-01-05 19:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:43:40.710831+00:00'} (T+516560094 ms) 2026-01-05 19:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516600083 ms) 2026-01-05 19:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516600084 ms) 2026-01-05 19:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516600084 ms) 2026-01-05 19:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516600085 ms) 2026-01-05 19:44:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516601119 ms) 2026-01-05 19:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516601119 ms) 2026-01-05 19:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:44:40.710738+00:00', 'runtime': '516600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516601120 ms) 2026-01-05 19:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:43:40.710737+00:00', 'runtime': '516540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516601120 ms) 2026-01-05 19:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516620090 ms) 2026-01-05 19:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516620091 ms) 2026-01-05 19:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:44:40.710823+00:00'} (T+516620094 ms) 2026-01-05 19:45:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516660085 ms) 2026-01-05 19:45:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516660085 ms) 2026-01-05 19:45:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516660085 ms) 2026-01-05 19:45:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516660086 ms) 2026-01-05 19:45:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516661116 ms) 2026-01-05 19:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516661117 ms) 2026-01-05 19:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:45:40.713170+00:00', 'runtime': '516660.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516661117 ms) 2026-01-05 19:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:44:40.710738+00:00', 'runtime': '516600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516661118 ms) 2026-01-05 19:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516680090 ms) 2026-01-05 19:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516680092 ms) 2026-01-05 19:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:45:40.710805+00:00'} (T+516680095 ms) 2026-01-05 19:46:40.734 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516720056 ms) 2026-01-05 19:46:40.735 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516720056 ms) 2026-01-05 19:46:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516720056 ms) 2026-01-05 19:46:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516720056 ms) 2026-01-05 19:46:41.763 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516721085 ms) 2026-01-05 19:46:41.764 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516721085 ms) 2026-01-05 19:46:41.765 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:46:40.713061+00:00', 'runtime': '516720.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516721086 ms) 2026-01-05 19:46:41.765 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:45:40.713170+00:00', 'runtime': '516660.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516721086 ms) 2026-01-05 19:47:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516740071 ms) 2026-01-05 19:47:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516740072 ms) 2026-01-05 19:47:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:46:40.710559+00:00'} (T+516740075 ms) 2026-01-05 19:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516780082 ms) 2026-01-05 19:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516780083 ms) 2026-01-05 19:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516780083 ms) 2026-01-05 19:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516780083 ms) 2026-01-05 19:47:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516781117 ms) 2026-01-05 19:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516781118 ms) 2026-01-05 19:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:47:40.710794+00:00', 'runtime': '516780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516781120 ms) 2026-01-05 19:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:46:40.713061+00:00', 'runtime': '516720.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516781121 ms) 2026-01-05 19:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516800087 ms) 2026-01-05 19:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516800088 ms) 2026-01-05 19:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:47:40.710876+00:00'} (T+516800091 ms) 2026-01-05 19:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516840083 ms) 2026-01-05 19:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516840083 ms) 2026-01-05 19:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516840084 ms) 2026-01-05 19:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516840084 ms) 2026-01-05 19:48:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516841124 ms) 2026-01-05 19:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516841125 ms) 2026-01-05 19:48:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:48:40.710738+00:00', 'runtime': '516840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516841127 ms) 2026-01-05 19:48:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:47:40.710794+00:00', 'runtime': '516780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516841128 ms) 2026-01-05 19:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516860090 ms) 2026-01-05 19:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516860092 ms) 2026-01-05 19:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:48:40.710836+00:00'} (T+516860094 ms) 2026-01-05 19:49:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516900077 ms) 2026-01-05 19:49:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516900077 ms) 2026-01-05 19:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516900077 ms) 2026-01-05 19:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516900078 ms) 2026-01-05 19:49:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516901113 ms) 2026-01-05 19:49:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516901114 ms) 2026-01-05 19:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:49:40.710704+00:00', 'runtime': '516900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516901115 ms) 2026-01-05 19:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:48:40.710738+00:00', 'runtime': '516840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516901116 ms) 2026-01-05 19:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516920088 ms) 2026-01-05 19:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516920089 ms) 2026-01-05 19:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:49:40.710848+00:00'} (T+516920092 ms) 2026-01-05 19:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+516960082 ms) 2026-01-05 19:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+516960083 ms) 2026-01-05 19:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+516960083 ms) 2026-01-05 19:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+516960083 ms) 2026-01-05 19:50:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+516961118 ms) 2026-01-05 19:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+516961118 ms) 2026-01-05 19:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:50:40.710763+00:00', 'runtime': '516960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516961119 ms) 2026-01-05 19:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:49:40.710704+00:00', 'runtime': '516900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+516961120 ms) 2026-01-05 19:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516980087 ms) 2026-01-05 19:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+516980088 ms) 2026-01-05 19:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:50:40.710855+00:00'} (T+516980091 ms) 2026-01-05 19:51:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517020054 ms) 2026-01-05 19:51:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517020054 ms) 2026-01-05 19:51:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517020054 ms) 2026-01-05 19:51:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517020054 ms) 2026-01-05 19:51:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517021080 ms) 2026-01-05 19:51:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517021081 ms) 2026-01-05 19:51:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:51:40.710536+00:00', 'runtime': '517020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517021082 ms) 2026-01-05 19:51:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:50:40.710763+00:00', 'runtime': '516960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517021082 ms) 2026-01-05 19:52:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517040071 ms) 2026-01-05 19:52:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517040072 ms) 2026-01-05 19:52:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:51:40.712968+00:00'} (T+517040075 ms) 2026-01-05 19:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517080083 ms) 2026-01-05 19:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517080083 ms) 2026-01-05 19:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517080084 ms) 2026-01-05 19:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517080084 ms) 2026-01-05 19:52:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517081116 ms) 2026-01-05 19:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517081117 ms) 2026-01-05 19:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:52:40.710752+00:00', 'runtime': '517080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517081118 ms) 2026-01-05 19:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:51:40.710536+00:00', 'runtime': '517020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517081118 ms) 2026-01-05 19:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517100088 ms) 2026-01-05 19:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517100089 ms) 2026-01-05 19:53:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:52:40.710880+00:00'} (T+517100092 ms) 2026-01-05 19:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517140082 ms) 2026-01-05 19:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517140083 ms) 2026-01-05 19:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517140083 ms) 2026-01-05 19:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517140083 ms) 2026-01-05 19:53:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517141116 ms) 2026-01-05 19:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517141116 ms) 2026-01-05 19:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:53:40.710767+00:00', 'runtime': '517140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517141117 ms) 2026-01-05 19:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:52:40.710752+00:00', 'runtime': '517080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517141118 ms) 2026-01-05 19:54:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517160088 ms) 2026-01-05 19:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517160089 ms) 2026-01-05 19:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:53:40.710857+00:00'} (T+517160093 ms) 2026-01-05 19:54:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517200085 ms) 2026-01-05 19:54:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517200086 ms) 2026-01-05 19:54:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517200086 ms) 2026-01-05 19:54:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517200087 ms) 2026-01-05 19:54:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517201119 ms) 2026-01-05 19:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517201120 ms) 2026-01-05 19:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:54:40.713168+00:00', 'runtime': '517200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517201121 ms) 2026-01-05 19:54:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:53:40.710767+00:00', 'runtime': '517140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517201122 ms) 2026-01-05 19:55:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517220091 ms) 2026-01-05 19:55:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517220092 ms) 2026-01-05 19:55:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:54:40.710848+00:00'} (T+517220095 ms) 2026-01-05 19:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517260082 ms) 2026-01-05 19:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517260083 ms) 2026-01-05 19:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517260083 ms) 2026-01-05 19:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517260084 ms) 2026-01-05 19:55:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517261119 ms) 2026-01-05 19:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517261119 ms) 2026-01-05 19:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:55:40.710795+00:00', 'runtime': '517260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517261121 ms) 2026-01-05 19:55:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:54:40.713168+00:00', 'runtime': '517200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517261121 ms) 2026-01-05 19:56:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517280091 ms) 2026-01-05 19:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517280092 ms) 2026-01-05 19:56:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:55:40.710886+00:00'} (T+517280095 ms) 2026-01-05 19:56:40.734 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517320056 ms) 2026-01-05 19:56:40.735 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517320056 ms) 2026-01-05 19:56:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517320056 ms) 2026-01-05 19:56:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517320056 ms) 2026-01-05 19:56:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517321082 ms) 2026-01-05 19:56:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517321083 ms) 2026-01-05 19:56:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:56:40.713073+00:00', 'runtime': '517320.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517321084 ms) 2026-01-05 19:56:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:55:40.710795+00:00', 'runtime': '517260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517321084 ms) 2026-01-05 19:57:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517340071 ms) 2026-01-05 19:57:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517340072 ms) 2026-01-05 19:57:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:56:40.710562+00:00'} (T+517340075 ms) 2026-01-05 19:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517380083 ms) 2026-01-05 19:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517380083 ms) 2026-01-05 19:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517380084 ms) 2026-01-05 19:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517380084 ms) 2026-01-05 19:57:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517381119 ms) 2026-01-05 19:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517381120 ms) 2026-01-05 19:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:57:40.710819+00:00', 'runtime': '517380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517381120 ms) 2026-01-05 19:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:56:40.713073+00:00', 'runtime': '517320.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517381121 ms) 2026-01-05 19:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517400090 ms) 2026-01-05 19:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517400091 ms) 2026-01-05 19:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:57:40.710893+00:00'} (T+517400094 ms) 2026-01-05 19:58:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517440076 ms) 2026-01-05 19:58:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517440077 ms) 2026-01-05 19:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517440077 ms) 2026-01-05 19:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517440077 ms) 2026-01-05 19:58:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517441112 ms) 2026-01-05 19:58:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517441113 ms) 2026-01-05 19:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:58:40.710741+00:00', 'runtime': '517440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517441115 ms) 2026-01-05 19:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:57:40.710819+00:00', 'runtime': '517380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517441116 ms) 2026-01-05 19:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517460087 ms) 2026-01-05 19:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517460088 ms) 2026-01-05 19:59:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:58:40.710855+00:00'} (T+517460090 ms) 2026-01-05 19:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517500083 ms) 2026-01-05 19:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517500083 ms) 2026-01-05 19:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517500083 ms) 2026-01-05 19:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517500084 ms) 2026-01-05 19:59:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517501118 ms) 2026-01-05 19:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517501119 ms) 2026-01-05 19:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 19:59:40.710727+00:00', 'runtime': '517500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517501120 ms) 2026-01-05 19:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:58:40.710741+00:00', 'runtime': '517440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517501120 ms) 2026-01-05 20:00:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517520093 ms) 2026-01-05 20:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517520094 ms) 2026-01-05 20:00:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 19:59:40.713228+00:00'} (T+517520097 ms) 2026-01-05 20:00:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517560083 ms) 2026-01-05 20:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517560083 ms) 2026-01-05 20:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517560084 ms) 2026-01-05 20:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517560084 ms) 2026-01-05 20:00:41.804 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517561125 ms) 2026-01-05 20:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517561126 ms) 2026-01-05 20:00:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:00:40.710760+00:00', 'runtime': '517560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517561129 ms) 2026-01-05 20:00:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 19:59:40.710727+00:00', 'runtime': '517500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517561129 ms) 2026-01-05 20:01:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517580088 ms) 2026-01-05 20:01:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517580089 ms) 2026-01-05 20:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:00:40.710845+00:00'} (T+517580092 ms) 2026-01-05 20:01:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517620054 ms) 2026-01-05 20:01:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517620054 ms) 2026-01-05 20:01:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517620054 ms) 2026-01-05 20:01:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517620054 ms) 2026-01-05 20:01:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517621081 ms) 2026-01-05 20:01:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517621082 ms) 2026-01-05 20:01:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:01:40.710449+00:00', 'runtime': '517620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517621083 ms) 2026-01-05 20:01:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:00:40.710760+00:00', 'runtime': '517560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517621083 ms) 2026-01-05 20:02:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517640071 ms) 2026-01-05 20:02:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517640072 ms) 2026-01-05 20:02:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:01:40.710601+00:00'} (T+517640075 ms) 2026-01-05 20:02:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517680076 ms) 2026-01-05 20:02:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517680077 ms) 2026-01-05 20:02:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517680077 ms) 2026-01-05 20:02:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517680077 ms) 2026-01-05 20:02:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517681112 ms) 2026-01-05 20:02:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517681113 ms) 2026-01-05 20:02:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:02:40.710843+00:00', 'runtime': '517680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517681115 ms) 2026-01-05 20:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:01:40.710449+00:00', 'runtime': '517620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517681116 ms) 2026-01-05 20:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517700088 ms) 2026-01-05 20:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517700089 ms) 2026-01-05 20:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:02:40.710914+00:00'} (T+517700092 ms) 2026-01-05 20:03:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517740083 ms) 2026-01-05 20:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517740083 ms) 2026-01-05 20:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517740083 ms) 2026-01-05 20:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517740084 ms) 2026-01-05 20:03:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517741118 ms) 2026-01-05 20:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517741118 ms) 2026-01-05 20:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:03:40.710730+00:00', 'runtime': '517740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517741119 ms) 2026-01-05 20:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:02:40.710843+00:00', 'runtime': '517680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517741119 ms) 2026-01-05 20:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517760090 ms) 2026-01-05 20:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517760091 ms) 2026-01-05 20:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:03:40.710845+00:00'} (T+517760094 ms) 2026-01-05 20:04:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517800077 ms) 2026-01-05 20:04:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517800077 ms) 2026-01-05 20:04:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517800078 ms) 2026-01-05 20:04:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517800078 ms) 2026-01-05 20:04:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517801113 ms) 2026-01-05 20:04:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517801113 ms) 2026-01-05 20:04:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:04:40.710738+00:00', 'runtime': '517800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517801115 ms) 2026-01-05 20:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:03:40.710730+00:00', 'runtime': '517740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517801116 ms) 2026-01-05 20:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517820091 ms) 2026-01-05 20:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517820092 ms) 2026-01-05 20:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:04:40.713228+00:00'} (T+517820095 ms) 2026-01-05 20:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517860084 ms) 2026-01-05 20:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517860084 ms) 2026-01-05 20:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517860084 ms) 2026-01-05 20:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517860085 ms) 2026-01-05 20:05:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517861118 ms) 2026-01-05 20:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517861118 ms) 2026-01-05 20:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:05:40.710744+00:00', 'runtime': '517860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517861119 ms) 2026-01-05 20:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:04:40.710738+00:00', 'runtime': '517800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517861119 ms) 2026-01-05 20:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517880090 ms) 2026-01-05 20:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517880091 ms) 2026-01-05 20:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:05:40.710852+00:00'} (T+517880093 ms) 2026-01-05 20:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517920083 ms) 2026-01-05 20:06:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517920084 ms) 2026-01-05 20:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517920084 ms) 2026-01-05 20:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517920085 ms) 2026-01-05 20:06:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517921117 ms) 2026-01-05 20:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517921118 ms) 2026-01-05 20:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:06:40.710767+00:00', 'runtime': '517920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517921119 ms) 2026-01-05 20:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:05:40.710744+00:00', 'runtime': '517860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517921119 ms) 2026-01-05 20:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517940090 ms) 2026-01-05 20:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+517940091 ms) 2026-01-05 20:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:06:40.710844+00:00'} (T+517940094 ms) 2026-01-05 20:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+517980083 ms) 2026-01-05 20:07:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+517980084 ms) 2026-01-05 20:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+517980084 ms) 2026-01-05 20:07:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+517980085 ms) 2026-01-05 20:07:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+517981117 ms) 2026-01-05 20:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+517981118 ms) 2026-01-05 20:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:07:40.710758+00:00', 'runtime': '517980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517981119 ms) 2026-01-05 20:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:06:40.710767+00:00', 'runtime': '517920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+517981119 ms) 2026-01-05 20:08:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518000087 ms) 2026-01-05 20:08:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518000088 ms) 2026-01-05 20:08:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:07:40.710848+00:00'} (T+518000090 ms) 2026-01-05 20:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518040083 ms) 2026-01-05 20:08:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518040084 ms) 2026-01-05 20:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518040084 ms) 2026-01-05 20:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518040085 ms) 2026-01-05 20:08:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518041113 ms) 2026-01-05 20:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518041114 ms) 2026-01-05 20:08:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:08:40.710731+00:00', 'runtime': '518040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518041115 ms) 2026-01-05 20:08:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:07:40.710758+00:00', 'runtime': '517980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518041115 ms) 2026-01-05 20:09:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518060085 ms) 2026-01-05 20:09:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518060086 ms) 2026-01-05 20:09:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:08:40.710852+00:00'} (T+518060089 ms) 2026-01-05 20:09:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518100078 ms) 2026-01-05 20:09:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518100078 ms) 2026-01-05 20:09:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518100078 ms) 2026-01-05 20:09:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518100079 ms) 2026-01-05 20:09:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518101115 ms) 2026-01-05 20:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518101116 ms) 2026-01-05 20:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:09:40.710738+00:00', 'runtime': '518100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518101118 ms) 2026-01-05 20:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:08:40.710731+00:00', 'runtime': '518040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518101119 ms) 2026-01-05 20:10:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518120088 ms) 2026-01-05 20:10:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518120089 ms) 2026-01-05 20:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:09:40.710861+00:00'} (T+518120092 ms) 2026-01-05 20:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518160083 ms) 2026-01-05 20:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518160084 ms) 2026-01-05 20:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518160084 ms) 2026-01-05 20:10:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518160085 ms) 2026-01-05 20:10:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518161118 ms) 2026-01-05 20:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518161118 ms) 2026-01-05 20:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:10:40.710723+00:00', 'runtime': '518160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518161119 ms) 2026-01-05 20:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:09:40.710738+00:00', 'runtime': '518100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518161119 ms) 2026-01-05 20:11:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518180092 ms) 2026-01-05 20:11:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518180094 ms) 2026-01-05 20:11:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:10:40.713243+00:00'} (T+518180096 ms) 2026-01-05 20:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518220083 ms) 2026-01-05 20:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518220083 ms) 2026-01-05 20:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518220084 ms) 2026-01-05 20:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518220084 ms) 2026-01-05 20:11:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518221113 ms) 2026-01-05 20:11:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518221114 ms) 2026-01-05 20:11:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:11:40.710705+00:00', 'runtime': '518220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518221114 ms) 2026-01-05 20:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:10:40.710723+00:00', 'runtime': '518160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518221115 ms) 2026-01-05 20:12:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518240088 ms) 2026-01-05 20:12:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518240089 ms) 2026-01-05 20:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:11:40.710831+00:00'} (T+518240092 ms) 2026-01-05 20:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518280083 ms) 2026-01-05 20:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518280083 ms) 2026-01-05 20:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518280084 ms) 2026-01-05 20:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518280084 ms) 2026-01-05 20:12:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518281122 ms) 2026-01-05 20:12:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518281123 ms) 2026-01-05 20:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:12:40.710756+00:00', 'runtime': '518280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518281125 ms) 2026-01-05 20:12:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:11:40.710705+00:00', 'runtime': '518220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518281126 ms) 2026-01-05 20:13:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518300093 ms) 2026-01-05 20:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518300094 ms) 2026-01-05 20:13:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:12:40.713233+00:00'} (T+518300097 ms) 2026-01-05 20:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518340083 ms) 2026-01-05 20:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518340083 ms) 2026-01-05 20:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518340084 ms) 2026-01-05 20:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518340084 ms) 2026-01-05 20:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518341117 ms) 2026-01-05 20:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518341117 ms) 2026-01-05 20:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:13:40.710745+00:00', 'runtime': '518340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518341118 ms) 2026-01-05 20:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:12:40.710756+00:00', 'runtime': '518280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518341119 ms) 2026-01-05 20:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518360090 ms) 2026-01-05 20:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518360091 ms) 2026-01-05 20:14:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:13:40.710855+00:00'} (T+518360093 ms) 2026-01-05 20:14:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518400084 ms) 2026-01-05 20:14:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518400085 ms) 2026-01-05 20:14:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518400085 ms) 2026-01-05 20:14:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518400085 ms) 2026-01-05 20:14:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518401118 ms) 2026-01-05 20:14:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518401118 ms) 2026-01-05 20:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:14:40.710745+00:00', 'runtime': '518400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518401120 ms) 2026-01-05 20:14:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:13:40.710745+00:00', 'runtime': '518340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518401120 ms) 2026-01-05 20:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518420090 ms) 2026-01-05 20:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518420091 ms) 2026-01-05 20:15:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:14:40.710852+00:00'} (T+518420093 ms) 2026-01-05 20:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518460083 ms) 2026-01-05 20:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518460083 ms) 2026-01-05 20:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518460084 ms) 2026-01-05 20:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518460084 ms) 2026-01-05 20:15:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518461119 ms) 2026-01-05 20:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518461119 ms) 2026-01-05 20:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:15:40.710710+00:00', 'runtime': '518460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518461120 ms) 2026-01-05 20:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:14:40.710745+00:00', 'runtime': '518400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518461120 ms) 2026-01-05 20:16:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518480088 ms) 2026-01-05 20:16:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518480089 ms) 2026-01-05 20:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:15:40.710856+00:00'} (T+518480092 ms) 2026-01-05 20:16:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518520084 ms) 2026-01-05 20:16:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518520084 ms) 2026-01-05 20:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518520084 ms) 2026-01-05 20:16:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518520085 ms) 2026-01-05 20:16:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518521117 ms) 2026-01-05 20:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518521118 ms) 2026-01-05 20:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:16:40.710751+00:00', 'runtime': '518520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518521119 ms) 2026-01-05 20:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:15:40.710710+00:00', 'runtime': '518460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518521119 ms) 2026-01-05 20:17:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518540088 ms) 2026-01-05 20:17:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518540090 ms) 2026-01-05 20:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:16:40.710851+00:00'} (T+518540092 ms) 2026-01-05 20:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518580082 ms) 2026-01-05 20:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518580083 ms) 2026-01-05 20:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518580083 ms) 2026-01-05 20:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518580083 ms) 2026-01-05 20:17:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518581122 ms) 2026-01-05 20:17:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518581123 ms) 2026-01-05 20:17:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:17:40.710765+00:00', 'runtime': '518580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518581125 ms) 2026-01-05 20:17:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:16:40.710751+00:00', 'runtime': '518520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518581126 ms) 2026-01-05 20:18:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518600089 ms) 2026-01-05 20:18:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518600090 ms) 2026-01-05 20:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:17:40.710854+00:00'} (T+518600092 ms) 2026-01-05 20:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518640082 ms) 2026-01-05 20:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518640083 ms) 2026-01-05 20:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518640083 ms) 2026-01-05 20:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518640084 ms) 2026-01-05 20:18:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518641116 ms) 2026-01-05 20:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518641116 ms) 2026-01-05 20:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:18:40.710717+00:00', 'runtime': '518640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518641117 ms) 2026-01-05 20:18:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:17:40.710765+00:00', 'runtime': '518580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518641118 ms) 2026-01-05 20:19:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518660093 ms) 2026-01-05 20:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518660094 ms) 2026-01-05 20:19:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:18:40.713245+00:00'} (T+518660097 ms) 2026-01-05 20:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518700083 ms) 2026-01-05 20:19:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518700084 ms) 2026-01-05 20:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518700084 ms) 2026-01-05 20:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518700084 ms) 2026-01-05 20:19:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518701117 ms) 2026-01-05 20:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518701117 ms) 2026-01-05 20:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:19:40.710771+00:00', 'runtime': '518700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518701118 ms) 2026-01-05 20:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:18:40.710717+00:00', 'runtime': '518640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518701118 ms) 2026-01-05 20:20:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518720091 ms) 2026-01-05 20:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518720092 ms) 2026-01-05 20:20:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:19:40.713237+00:00'} (T+518720095 ms) 2026-01-05 20:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518760083 ms) 2026-01-05 20:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518760084 ms) 2026-01-05 20:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518760084 ms) 2026-01-05 20:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518760084 ms) 2026-01-05 20:20:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518761120 ms) 2026-01-05 20:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518761121 ms) 2026-01-05 20:20:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:20:40.713161+00:00', 'runtime': '518760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518761123 ms) 2026-01-05 20:20:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:19:40.710771+00:00', 'runtime': '518700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518761124 ms) 2026-01-05 20:21:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518780091 ms) 2026-01-05 20:21:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518780092 ms) 2026-01-05 20:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:20:40.710815+00:00'} (T+518780094 ms) 2026-01-05 20:21:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518820077 ms) 2026-01-05 20:21:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518820077 ms) 2026-01-05 20:21:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518820078 ms) 2026-01-05 20:21:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518820078 ms) 2026-01-05 20:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518821114 ms) 2026-01-05 20:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518821115 ms) 2026-01-05 20:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:21:40.710732+00:00', 'runtime': '518820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518821117 ms) 2026-01-05 20:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:20:40.713161+00:00', 'runtime': '518760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518821118 ms) 2026-01-05 20:22:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518840085 ms) 2026-01-05 20:22:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518840086 ms) 2026-01-05 20:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:21:40.710824+00:00'} (T+518840089 ms) 2026-01-05 20:22:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518880075 ms) 2026-01-05 20:22:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518880076 ms) 2026-01-05 20:22:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518880076 ms) 2026-01-05 20:22:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518880076 ms) 2026-01-05 20:22:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518881111 ms) 2026-01-05 20:22:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518881112 ms) 2026-01-05 20:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:22:40.710744+00:00', 'runtime': '518880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518881114 ms) 2026-01-05 20:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:21:40.710732+00:00', 'runtime': '518820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518881115 ms) 2026-01-05 20:23:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518900085 ms) 2026-01-05 20:23:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518900086 ms) 2026-01-05 20:23:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:22:40.710865+00:00'} (T+518900087 ms) 2026-01-05 20:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+518940083 ms) 2026-01-05 20:23:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+518940084 ms) 2026-01-05 20:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+518940084 ms) 2026-01-05 20:23:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+518940085 ms) 2026-01-05 20:23:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+518941123 ms) 2026-01-05 20:23:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+518941124 ms) 2026-01-05 20:23:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:23:40.710740+00:00', 'runtime': '518940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518941126 ms) 2026-01-05 20:23:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:22:40.710744+00:00', 'runtime': '518880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+518941127 ms) 2026-01-05 20:24:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518960087 ms) 2026-01-05 20:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+518960088 ms) 2026-01-05 20:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:23:40.710859+00:00'} (T+518960091 ms) 2026-01-05 20:24:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519000081 ms) 2026-01-05 20:24:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519000081 ms) 2026-01-05 20:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519000081 ms) 2026-01-05 20:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519000081 ms) 2026-01-05 20:24:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519001116 ms) 2026-01-05 20:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519001117 ms) 2026-01-05 20:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:24:40.710693+00:00', 'runtime': '519000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519001119 ms) 2026-01-05 20:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:23:40.710740+00:00', 'runtime': '518940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519001120 ms) 2026-01-05 20:25:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519020091 ms) 2026-01-05 20:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519020092 ms) 2026-01-05 20:25:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:24:40.710850+00:00'} (T+519020095 ms) 2026-01-05 20:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519060083 ms) 2026-01-05 20:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519060084 ms) 2026-01-05 20:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519060084 ms) 2026-01-05 20:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519060084 ms) 2026-01-05 20:25:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519061117 ms) 2026-01-05 20:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519061118 ms) 2026-01-05 20:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:25:40.710700+00:00', 'runtime': '519060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519061119 ms) 2026-01-05 20:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:24:40.710693+00:00', 'runtime': '519000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519061120 ms) 2026-01-05 20:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519080088 ms) 2026-01-05 20:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519080089 ms) 2026-01-05 20:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:25:40.710842+00:00'} (T+519080092 ms) 2026-01-05 20:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519120083 ms) 2026-01-05 20:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519120083 ms) 2026-01-05 20:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519120084 ms) 2026-01-05 20:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519120084 ms) 2026-01-05 20:26:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519121122 ms) 2026-01-05 20:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519121123 ms) 2026-01-05 20:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:26:40.710775+00:00', 'runtime': '519120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519121127 ms) 2026-01-05 20:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:25:40.710700+00:00', 'runtime': '519060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519121128 ms) 2026-01-05 20:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519140090 ms) 2026-01-05 20:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519140092 ms) 2026-01-05 20:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:26:40.710853+00:00'} (T+519140094 ms) 2026-01-05 20:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519180082 ms) 2026-01-05 20:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519180083 ms) 2026-01-05 20:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519180083 ms) 2026-01-05 20:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519180084 ms) 2026-01-05 20:27:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519181124 ms) 2026-01-05 20:27:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519181125 ms) 2026-01-05 20:27:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:27:40.710763+00:00', 'runtime': '519180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519181127 ms) 2026-01-05 20:27:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:26:40.710775+00:00', 'runtime': '519120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519181128 ms) 2026-01-05 20:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519200090 ms) 2026-01-05 20:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519200092 ms) 2026-01-05 20:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:27:40.710850+00:00'} (T+519200094 ms) 2026-01-05 20:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519240083 ms) 2026-01-05 20:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519240083 ms) 2026-01-05 20:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519240083 ms) 2026-01-05 20:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519240084 ms) 2026-01-05 20:28:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519241118 ms) 2026-01-05 20:28:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519241118 ms) 2026-01-05 20:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:28:40.710750+00:00', 'runtime': '519240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519241119 ms) 2026-01-05 20:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:27:40.710763+00:00', 'runtime': '519180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519241119 ms) 2026-01-05 20:29:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519260088 ms) 2026-01-05 20:29:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519260089 ms) 2026-01-05 20:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:28:40.710853+00:00'} (T+519260092 ms) 2026-01-05 20:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519300082 ms) 2026-01-05 20:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519300083 ms) 2026-01-05 20:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519300083 ms) 2026-01-05 20:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519300084 ms) 2026-01-05 20:29:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519301118 ms) 2026-01-05 20:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519301118 ms) 2026-01-05 20:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:29:40.710735+00:00', 'runtime': '519300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519301119 ms) 2026-01-05 20:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:28:40.710750+00:00', 'runtime': '519240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519301120 ms) 2026-01-05 20:30:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519320091 ms) 2026-01-05 20:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519320092 ms) 2026-01-05 20:30:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:29:40.710851+00:00'} (T+519320095 ms) 2026-01-05 20:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519360083 ms) 2026-01-05 20:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519360083 ms) 2026-01-05 20:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519360084 ms) 2026-01-05 20:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519360084 ms) 2026-01-05 20:30:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519361119 ms) 2026-01-05 20:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519361119 ms) 2026-01-05 20:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:30:40.710751+00:00', 'runtime': '519360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519361120 ms) 2026-01-05 20:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:29:40.710735+00:00', 'runtime': '519300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519361121 ms) 2026-01-05 20:31:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519380093 ms) 2026-01-05 20:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519380094 ms) 2026-01-05 20:31:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:30:40.713248+00:00'} (T+519380096 ms) 2026-01-05 20:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519420082 ms) 2026-01-05 20:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519420083 ms) 2026-01-05 20:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519420083 ms) 2026-01-05 20:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519420084 ms) 2026-01-05 20:31:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519421119 ms) 2026-01-05 20:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519421119 ms) 2026-01-05 20:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:31:40.710744+00:00', 'runtime': '519420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519421120 ms) 2026-01-05 20:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:30:40.710751+00:00', 'runtime': '519360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519421120 ms) 2026-01-05 20:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519440090 ms) 2026-01-05 20:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519440091 ms) 2026-01-05 20:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:31:40.710848+00:00'} (T+519440094 ms) 2026-01-05 20:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519480083 ms) 2026-01-05 20:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519480083 ms) 2026-01-05 20:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519480083 ms) 2026-01-05 20:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519480084 ms) 2026-01-05 20:32:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519481116 ms) 2026-01-05 20:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519481117 ms) 2026-01-05 20:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:32:40.710753+00:00', 'runtime': '519480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519481118 ms) 2026-01-05 20:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:31:40.710744+00:00', 'runtime': '519420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519481118 ms) 2026-01-05 20:33:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519500087 ms) 2026-01-05 20:33:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519500088 ms) 2026-01-05 20:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:32:40.710831+00:00'} (T+519500091 ms) 2026-01-05 20:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519540084 ms) 2026-01-05 20:33:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519540084 ms) 2026-01-05 20:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519540085 ms) 2026-01-05 20:33:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519540085 ms) 2026-01-05 20:33:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519541123 ms) 2026-01-05 20:33:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519541124 ms) 2026-01-05 20:33:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:33:40.710743+00:00', 'runtime': '519540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519541126 ms) 2026-01-05 20:33:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:32:40.710753+00:00', 'runtime': '519480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519541127 ms) 2026-01-05 20:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519560088 ms) 2026-01-05 20:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519560089 ms) 2026-01-05 20:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:33:40.710853+00:00'} (T+519560092 ms) 2026-01-05 20:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519600084 ms) 2026-01-05 20:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519600084 ms) 2026-01-05 20:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519600085 ms) 2026-01-05 20:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519600085 ms) 2026-01-05 20:34:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519601118 ms) 2026-01-05 20:34:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519601118 ms) 2026-01-05 20:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:34:40.710686+00:00', 'runtime': '519600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519601120 ms) 2026-01-05 20:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:33:40.710743+00:00', 'runtime': '519540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519601120 ms) 2026-01-05 20:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519620088 ms) 2026-01-05 20:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519620089 ms) 2026-01-05 20:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:34:40.710842+00:00'} (T+519620092 ms) 2026-01-05 20:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519660083 ms) 2026-01-05 20:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519660084 ms) 2026-01-05 20:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519660084 ms) 2026-01-05 20:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519660084 ms) 2026-01-05 20:35:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519661120 ms) 2026-01-05 20:35:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519661121 ms) 2026-01-05 20:35:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:35:40.710732+00:00', 'runtime': '519660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519661122 ms) 2026-01-05 20:35:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:34:40.710686+00:00', 'runtime': '519600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519661122 ms) 2026-01-05 20:36:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519680091 ms) 2026-01-05 20:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519680092 ms) 2026-01-05 20:36:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:35:40.710847+00:00'} (T+519680094 ms) 2026-01-05 20:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519720083 ms) 2026-01-05 20:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519720084 ms) 2026-01-05 20:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519720084 ms) 2026-01-05 20:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519720084 ms) 2026-01-05 20:36:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519721113 ms) 2026-01-05 20:36:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519721113 ms) 2026-01-05 20:36:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:36:40.710737+00:00', 'runtime': '519720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519721114 ms) 2026-01-05 20:36:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:35:40.710732+00:00', 'runtime': '519660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519721115 ms) 2026-01-05 20:37:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519740090 ms) 2026-01-05 20:37:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519740090 ms) 2026-01-05 20:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:36:40.710846+00:00'} (T+519740091 ms) 2026-01-05 20:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519780083 ms) 2026-01-05 20:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519780083 ms) 2026-01-05 20:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519780084 ms) 2026-01-05 20:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519780084 ms) 2026-01-05 20:37:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519781123 ms) 2026-01-05 20:37:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519781124 ms) 2026-01-05 20:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:37:40.710768+00:00', 'runtime': '519780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519781127 ms) 2026-01-05 20:37:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:36:40.710737+00:00', 'runtime': '519720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519781128 ms) 2026-01-05 20:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519800090 ms) 2026-01-05 20:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519800091 ms) 2026-01-05 20:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:37:40.710864+00:00'} (T+519800094 ms) 2026-01-05 20:38:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519840077 ms) 2026-01-05 20:38:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519840077 ms) 2026-01-05 20:38:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519840078 ms) 2026-01-05 20:38:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519840078 ms) 2026-01-05 20:38:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519841111 ms) 2026-01-05 20:38:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519841112 ms) 2026-01-05 20:38:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:38:40.710708+00:00', 'runtime': '519840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519841114 ms) 2026-01-05 20:38:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:37:40.710768+00:00', 'runtime': '519780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519841115 ms) 2026-01-05 20:39:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519860089 ms) 2026-01-05 20:39:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519860090 ms) 2026-01-05 20:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:38:40.710855+00:00'} (T+519860092 ms) 2026-01-05 20:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519900083 ms) 2026-01-05 20:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519900084 ms) 2026-01-05 20:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519900084 ms) 2026-01-05 20:39:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519900085 ms) 2026-01-05 20:39:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519901116 ms) 2026-01-05 20:39:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519901116 ms) 2026-01-05 20:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:39:40.710704+00:00', 'runtime': '519900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519901118 ms) 2026-01-05 20:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:38:40.710708+00:00', 'runtime': '519840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519901119 ms) 2026-01-05 20:40:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519920091 ms) 2026-01-05 20:40:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519920092 ms) 2026-01-05 20:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:39:40.710606+00:00'} (T+519920094 ms) 2026-01-05 20:40:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+519960084 ms) 2026-01-05 20:40:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+519960085 ms) 2026-01-05 20:40:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+519960085 ms) 2026-01-05 20:40:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+519960086 ms) 2026-01-05 20:40:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+519961120 ms) 2026-01-05 20:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+519961120 ms) 2026-01-05 20:40:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:40:40.713159+00:00', 'runtime': '519960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519961122 ms) 2026-01-05 20:40:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:39:40.710704+00:00', 'runtime': '519900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+519961123 ms) 2026-01-05 20:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519980088 ms) 2026-01-05 20:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+519980089 ms) 2026-01-05 20:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:40:40.710836+00:00'} (T+519980092 ms) 2026-01-05 20:41:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520020077 ms) 2026-01-05 20:41:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520020077 ms) 2026-01-05 20:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520020078 ms) 2026-01-05 20:41:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520020078 ms) 2026-01-05 20:41:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520021112 ms) 2026-01-05 20:41:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520021113 ms) 2026-01-05 20:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:41:40.710716+00:00', 'runtime': '520020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520021116 ms) 2026-01-05 20:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:40:40.713159+00:00', 'runtime': '519960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520021117 ms) 2026-01-05 20:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520040088 ms) 2026-01-05 20:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520040090 ms) 2026-01-05 20:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:41:40.710855+00:00'} (T+520040092 ms) 2026-01-05 20:42:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520080083 ms) 2026-01-05 20:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520080083 ms) 2026-01-05 20:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520080083 ms) 2026-01-05 20:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520080084 ms) 2026-01-05 20:42:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520081116 ms) 2026-01-05 20:42:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520081117 ms) 2026-01-05 20:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:42:40.710736+00:00', 'runtime': '520080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520081118 ms) 2026-01-05 20:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:41:40.710716+00:00', 'runtime': '520020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520081118 ms) 2026-01-05 20:43:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520100087 ms) 2026-01-05 20:43:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520100088 ms) 2026-01-05 20:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:42:40.710866+00:00'} (T+520100090 ms) 2026-01-05 20:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520140083 ms) 2026-01-05 20:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520140084 ms) 2026-01-05 20:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520140084 ms) 2026-01-05 20:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520140085 ms) 2026-01-05 20:43:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520141119 ms) 2026-01-05 20:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520141119 ms) 2026-01-05 20:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:43:40.710751+00:00', 'runtime': '520140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520141120 ms) 2026-01-05 20:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:42:40.710736+00:00', 'runtime': '520080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520141120 ms) 2026-01-05 20:44:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520160093 ms) 2026-01-05 20:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520160094 ms) 2026-01-05 20:44:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:43:40.713241+00:00'} (T+520160097 ms) 2026-01-05 20:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520200083 ms) 2026-01-05 20:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520200083 ms) 2026-01-05 20:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520200083 ms) 2026-01-05 20:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520200084 ms) 2026-01-05 20:44:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520201120 ms) 2026-01-05 20:44:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520201121 ms) 2026-01-05 20:44:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:44:40.710757+00:00', 'runtime': '520200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520201122 ms) 2026-01-05 20:44:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:43:40.710751+00:00', 'runtime': '520140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520201122 ms) 2026-01-05 20:45:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520220093 ms) 2026-01-05 20:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520220094 ms) 2026-01-05 20:45:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:44:40.713237+00:00'} (T+520220097 ms) 2026-01-05 20:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520260082 ms) 2026-01-05 20:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520260083 ms) 2026-01-05 20:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520260083 ms) 2026-01-05 20:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520260084 ms) 2026-01-05 20:45:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520261121 ms) 2026-01-05 20:45:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520261122 ms) 2026-01-05 20:45:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:45:40.710747+00:00', 'runtime': '520260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520261124 ms) 2026-01-05 20:45:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:44:40.710757+00:00', 'runtime': '520200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520261125 ms) 2026-01-05 20:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520280090 ms) 2026-01-05 20:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520280091 ms) 2026-01-05 20:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:45:40.710854+00:00'} (T+520280094 ms) 2026-01-05 20:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520320083 ms) 2026-01-05 20:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520320083 ms) 2026-01-05 20:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520320083 ms) 2026-01-05 20:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520320084 ms) 2026-01-05 20:46:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520321112 ms) 2026-01-05 20:46:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520321112 ms) 2026-01-05 20:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:46:40.710709+00:00', 'runtime': '520320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520321113 ms) 2026-01-05 20:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:45:40.710747+00:00', 'runtime': '520260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520321113 ms) 2026-01-05 20:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520340087 ms) 2026-01-05 20:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520340089 ms) 2026-01-05 20:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:46:40.710867+00:00'} (T+520340092 ms) 2026-01-05 20:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520380083 ms) 2026-01-05 20:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520380084 ms) 2026-01-05 20:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520380084 ms) 2026-01-05 20:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520380084 ms) 2026-01-05 20:47:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520381117 ms) 2026-01-05 20:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520381117 ms) 2026-01-05 20:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:47:40.710736+00:00', 'runtime': '520380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520381119 ms) 2026-01-05 20:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:46:40.710709+00:00', 'runtime': '520320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520381119 ms) 2026-01-05 20:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520400087 ms) 2026-01-05 20:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520400088 ms) 2026-01-05 20:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:47:40.710856+00:00'} (T+520400090 ms) 2026-01-05 20:48:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520440082 ms) 2026-01-05 20:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520440083 ms) 2026-01-05 20:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520440083 ms) 2026-01-05 20:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520440084 ms) 2026-01-05 20:48:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520441117 ms) 2026-01-05 20:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520441117 ms) 2026-01-05 20:48:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:48:40.710748+00:00', 'runtime': '520440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520441118 ms) 2026-01-05 20:48:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:47:40.710736+00:00', 'runtime': '520380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520441119 ms) 2026-01-05 20:49:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520460087 ms) 2026-01-05 20:49:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520460088 ms) 2026-01-05 20:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:48:40.710837+00:00'} (T+520460091 ms) 2026-01-05 20:49:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520500084 ms) 2026-01-05 20:49:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520500085 ms) 2026-01-05 20:49:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520500085 ms) 2026-01-05 20:49:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520500086 ms) 2026-01-05 20:49:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520501119 ms) 2026-01-05 20:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520501120 ms) 2026-01-05 20:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:49:40.713167+00:00', 'runtime': '520500.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520501122 ms) 2026-01-05 20:49:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:48:40.710748+00:00', 'runtime': '520440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520501122 ms) 2026-01-05 20:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520520087 ms) 2026-01-05 20:50:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520520088 ms) 2026-01-05 20:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:49:40.710837+00:00'} (T+520520091 ms) 2026-01-05 20:50:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520560085 ms) 2026-01-05 20:50:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520560085 ms) 2026-01-05 20:50:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520560086 ms) 2026-01-05 20:50:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520560086 ms) 2026-01-05 20:50:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520561113 ms) 2026-01-05 20:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520561114 ms) 2026-01-05 20:50:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:50:40.713165+00:00', 'runtime': '520560.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520561116 ms) 2026-01-05 20:50:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:49:40.713167+00:00', 'runtime': '520500.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520561116 ms) 2026-01-05 20:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520580091 ms) 2026-01-05 20:51:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520580092 ms) 2026-01-05 20:51:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:50:40.710811+00:00'} (T+520580095 ms) 2026-01-05 20:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520620083 ms) 2026-01-05 20:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520620084 ms) 2026-01-05 20:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520620084 ms) 2026-01-05 20:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520620084 ms) 2026-01-05 20:51:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520621116 ms) 2026-01-05 20:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520621117 ms) 2026-01-05 20:51:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:51:40.710752+00:00', 'runtime': '520620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520621118 ms) 2026-01-05 20:51:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:50:40.713165+00:00', 'runtime': '520560.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520621119 ms) 2026-01-05 20:52:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520640089 ms) 2026-01-05 20:52:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520640089 ms) 2026-01-05 20:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:51:40.710840+00:00'} (T+520640091 ms) 2026-01-05 20:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520680082 ms) 2026-01-05 20:52:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520680083 ms) 2026-01-05 20:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520680083 ms) 2026-01-05 20:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520680083 ms) 2026-01-05 20:52:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520681118 ms) 2026-01-05 20:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520681119 ms) 2026-01-05 20:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:52:40.710720+00:00', 'runtime': '520680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520681121 ms) 2026-01-05 20:52:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:51:40.710752+00:00', 'runtime': '520620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520681122 ms) 2026-01-05 20:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520700087 ms) 2026-01-05 20:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520700088 ms) 2026-01-05 20:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:52:40.710848+00:00'} (T+520700091 ms) 2026-01-05 20:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520740083 ms) 2026-01-05 20:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520740083 ms) 2026-01-05 20:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520740084 ms) 2026-01-05 20:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520740084 ms) 2026-01-05 20:53:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520741119 ms) 2026-01-05 20:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520741120 ms) 2026-01-05 20:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:53:40.710730+00:00', 'runtime': '520740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520741121 ms) 2026-01-05 20:53:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:52:40.710720+00:00', 'runtime': '520680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520741121 ms) 2026-01-05 20:54:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520760088 ms) 2026-01-05 20:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520760089 ms) 2026-01-05 20:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:53:40.710838+00:00'} (T+520760092 ms) 2026-01-05 20:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520800082 ms) 2026-01-05 20:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520800083 ms) 2026-01-05 20:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520800083 ms) 2026-01-05 20:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520800084 ms) 2026-01-05 20:54:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520801118 ms) 2026-01-05 20:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520801119 ms) 2026-01-05 20:54:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:54:40.710738+00:00', 'runtime': '520800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520801123 ms) 2026-01-05 20:54:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:53:40.710730+00:00', 'runtime': '520740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520801124 ms) 2026-01-05 20:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520820090 ms) 2026-01-05 20:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520820091 ms) 2026-01-05 20:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:54:40.710858+00:00'} (T+520820094 ms) 2026-01-05 20:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520860083 ms) 2026-01-05 20:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520860083 ms) 2026-01-05 20:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520860084 ms) 2026-01-05 20:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520860084 ms) 2026-01-05 20:55:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520861121 ms) 2026-01-05 20:55:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520861122 ms) 2026-01-05 20:55:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:55:40.710737+00:00', 'runtime': '520860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520861124 ms) 2026-01-05 20:55:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:54:40.710738+00:00', 'runtime': '520800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520861125 ms) 2026-01-05 20:56:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520880093 ms) 2026-01-05 20:56:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520880095 ms) 2026-01-05 20:56:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:55:40.713236+00:00'} (T+520880097 ms) 2026-01-05 20:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520920083 ms) 2026-01-05 20:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520920083 ms) 2026-01-05 20:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520920083 ms) 2026-01-05 20:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520920084 ms) 2026-01-05 20:56:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520921116 ms) 2026-01-05 20:56:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520921116 ms) 2026-01-05 20:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:56:40.710754+00:00', 'runtime': '520920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520921117 ms) 2026-01-05 20:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:55:40.710737+00:00', 'runtime': '520860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520921118 ms) 2026-01-05 20:57:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520940089 ms) 2026-01-05 20:57:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+520940089 ms) 2026-01-05 20:57:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:56:40.710851+00:00'} (T+520940090 ms) 2026-01-05 20:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+520980082 ms) 2026-01-05 20:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+520980083 ms) 2026-01-05 20:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+520980083 ms) 2026-01-05 20:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+520980084 ms) 2026-01-05 20:57:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+520981119 ms) 2026-01-05 20:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+520981119 ms) 2026-01-05 20:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:57:40.710741+00:00', 'runtime': '520980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520981120 ms) 2026-01-05 20:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:56:40.710754+00:00', 'runtime': '520920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+520981121 ms) 2026-01-05 20:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521000090 ms) 2026-01-05 20:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521000091 ms) 2026-01-05 20:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:57:40.710871+00:00'} (T+521000094 ms) 2026-01-05 20:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521040083 ms) 2026-01-05 20:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521040084 ms) 2026-01-05 20:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521040084 ms) 2026-01-05 20:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521040084 ms) 2026-01-05 20:58:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521041116 ms) 2026-01-05 20:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521041117 ms) 2026-01-05 20:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:58:40.710757+00:00', 'runtime': '521040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521041117 ms) 2026-01-05 20:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:57:40.710741+00:00', 'runtime': '520980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521041118 ms) 2026-01-05 20:59:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521060092 ms) 2026-01-05 20:59:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521060093 ms) 2026-01-05 20:59:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:58:40.713231+00:00'} (T+521060096 ms) 2026-01-05 20:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521100083 ms) 2026-01-05 20:59:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521100084 ms) 2026-01-05 20:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521100084 ms) 2026-01-05 20:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521100085 ms) 2026-01-05 20:59:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521101119 ms) 2026-01-05 20:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521101119 ms) 2026-01-05 20:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 20:59:40.710754+00:00', 'runtime': '521100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521101120 ms) 2026-01-05 20:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:58:40.710757+00:00', 'runtime': '521040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521101121 ms) 2026-01-05 21:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521120090 ms) 2026-01-05 21:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521120092 ms) 2026-01-05 21:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 20:59:40.710848+00:00'} (T+521120095 ms) 2026-01-05 21:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521160083 ms) 2026-01-05 21:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521160083 ms) 2026-01-05 21:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521160083 ms) 2026-01-05 21:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521160084 ms) 2026-01-05 21:00:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521161119 ms) 2026-01-05 21:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521161120 ms) 2026-01-05 21:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:00:40.710751+00:00', 'runtime': '521160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521161121 ms) 2026-01-05 21:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 20:59:40.710754+00:00', 'runtime': '521100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521161121 ms) 2026-01-05 21:01:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521180088 ms) 2026-01-05 21:01:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521180089 ms) 2026-01-05 21:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:00:40.710843+00:00'} (T+521180092 ms) 2026-01-05 21:01:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521220078 ms) 2026-01-05 21:01:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521220079 ms) 2026-01-05 21:01:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521220079 ms) 2026-01-05 21:01:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521220079 ms) 2026-01-05 21:01:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521221113 ms) 2026-01-05 21:01:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521221114 ms) 2026-01-05 21:01:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:01:40.710731+00:00', 'runtime': '521220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521221116 ms) 2026-01-05 21:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:00:40.710751+00:00', 'runtime': '521160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521221117 ms) 2026-01-05 21:02:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521240091 ms) 2026-01-05 21:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521240092 ms) 2026-01-05 21:02:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:01:40.713246+00:00'} (T+521240095 ms) 2026-01-05 21:02:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521280086 ms) 2026-01-05 21:02:40.766 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521280087 ms) 2026-01-05 21:02:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521280087 ms) 2026-01-05 21:02:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521280088 ms) 2026-01-05 21:02:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521281120 ms) 2026-01-05 21:02:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521281121 ms) 2026-01-05 21:02:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:02:40.713172+00:00', 'runtime': '521280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521281121 ms) 2026-01-05 21:02:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:01:40.710731+00:00', 'runtime': '521220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521281122 ms) 2026-01-05 21:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521300090 ms) 2026-01-05 21:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521300092 ms) 2026-01-05 21:03:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:02:40.710819+00:00'} (T+521300093 ms) 2026-01-05 21:03:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521340077 ms) 2026-01-05 21:03:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521340078 ms) 2026-01-05 21:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521340078 ms) 2026-01-05 21:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521340078 ms) 2026-01-05 21:03:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521341113 ms) 2026-01-05 21:03:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521341114 ms) 2026-01-05 21:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:03:40.710742+00:00', 'runtime': '521340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521341115 ms) 2026-01-05 21:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:02:40.713172+00:00', 'runtime': '521280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521341116 ms) 2026-01-05 21:04:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521360087 ms) 2026-01-05 21:04:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521360088 ms) 2026-01-05 21:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:03:40.710856+00:00'} (T+521360091 ms) 2026-01-05 21:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521400083 ms) 2026-01-05 21:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521400084 ms) 2026-01-05 21:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521400084 ms) 2026-01-05 21:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521400085 ms) 2026-01-05 21:04:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521401122 ms) 2026-01-05 21:04:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521401123 ms) 2026-01-05 21:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:04:40.710760+00:00', 'runtime': '521400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521401125 ms) 2026-01-05 21:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:03:40.710742+00:00', 'runtime': '521340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521401126 ms) 2026-01-05 21:05:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521420092 ms) 2026-01-05 21:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521420094 ms) 2026-01-05 21:05:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:04:40.713240+00:00'} (T+521420096 ms) 2026-01-05 21:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521460083 ms) 2026-01-05 21:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521460083 ms) 2026-01-05 21:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521460084 ms) 2026-01-05 21:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521460084 ms) 2026-01-05 21:05:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521461117 ms) 2026-01-05 21:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521461117 ms) 2026-01-05 21:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:05:40.710753+00:00', 'runtime': '521460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521461118 ms) 2026-01-05 21:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:04:40.710760+00:00', 'runtime': '521400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521461119 ms) 2026-01-05 21:06:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521480091 ms) 2026-01-05 21:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521480092 ms) 2026-01-05 21:06:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:05:40.713239+00:00'} (T+521480095 ms) 2026-01-05 21:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521520083 ms) 2026-01-05 21:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521520084 ms) 2026-01-05 21:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521520084 ms) 2026-01-05 21:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521520084 ms) 2026-01-05 21:06:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521521116 ms) 2026-01-05 21:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521521117 ms) 2026-01-05 21:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:06:40.710742+00:00', 'runtime': '521520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521521118 ms) 2026-01-05 21:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:05:40.710753+00:00', 'runtime': '521460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521521118 ms) 2026-01-05 21:07:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521540085 ms) 2026-01-05 21:07:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521540086 ms) 2026-01-05 21:07:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:06:40.710853+00:00'} (T+521540087 ms) 2026-01-05 21:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521580082 ms) 2026-01-05 21:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521580083 ms) 2026-01-05 21:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521580083 ms) 2026-01-05 21:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521580084 ms) 2026-01-05 21:07:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521581121 ms) 2026-01-05 21:07:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521581122 ms) 2026-01-05 21:07:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:07:40.710769+00:00', 'runtime': '521580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521581123 ms) 2026-01-05 21:07:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:06:40.710742+00:00', 'runtime': '521520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521581123 ms) 2026-01-05 21:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521600090 ms) 2026-01-05 21:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521600091 ms) 2026-01-05 21:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:07:40.710871+00:00'} (T+521600094 ms) 2026-01-05 21:08:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521640077 ms) 2026-01-05 21:08:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521640078 ms) 2026-01-05 21:08:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521640078 ms) 2026-01-05 21:08:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521640078 ms) 2026-01-05 21:08:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521641118 ms) 2026-01-05 21:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521641119 ms) 2026-01-05 21:08:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:08:40.710754+00:00', 'runtime': '521640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521641123 ms) 2026-01-05 21:08:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:07:40.710769+00:00', 'runtime': '521580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521641123 ms) 2026-01-05 21:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521660087 ms) 2026-01-05 21:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521660089 ms) 2026-01-05 21:09:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:08:40.710864+00:00'} (T+521660091 ms) 2026-01-05 21:09:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521700076 ms) 2026-01-05 21:09:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521700077 ms) 2026-01-05 21:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521700077 ms) 2026-01-05 21:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521700077 ms) 2026-01-05 21:09:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521701112 ms) 2026-01-05 21:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521701113 ms) 2026-01-05 21:09:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:09:40.710751+00:00', 'runtime': '521700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521701115 ms) 2026-01-05 21:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:08:40.710754+00:00', 'runtime': '521640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521701116 ms) 2026-01-05 21:10:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521720089 ms) 2026-01-05 21:10:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521720090 ms) 2026-01-05 21:10:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:09:40.710862+00:00'} (T+521720093 ms) 2026-01-05 21:10:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521760077 ms) 2026-01-05 21:10:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521760078 ms) 2026-01-05 21:10:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521760078 ms) 2026-01-05 21:10:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521760079 ms) 2026-01-05 21:10:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521761116 ms) 2026-01-05 21:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521761117 ms) 2026-01-05 21:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:10:40.710765+00:00', 'runtime': '521760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521761119 ms) 2026-01-05 21:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:09:40.710751+00:00', 'runtime': '521700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521761120 ms) 2026-01-05 21:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521780087 ms) 2026-01-05 21:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521780088 ms) 2026-01-05 21:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:10:40.710853+00:00'} (T+521780091 ms) 2026-01-05 21:11:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521820084 ms) 2026-01-05 21:11:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521820085 ms) 2026-01-05 21:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521820085 ms) 2026-01-05 21:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521820086 ms) 2026-01-05 21:11:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521821123 ms) 2026-01-05 21:11:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521821124 ms) 2026-01-05 21:11:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:11:40.710719+00:00', 'runtime': '521820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521821127 ms) 2026-01-05 21:11:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:10:40.710765+00:00', 'runtime': '521760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521821128 ms) 2026-01-05 21:12:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521840089 ms) 2026-01-05 21:12:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521840089 ms) 2026-01-05 21:12:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:11:40.710844+00:00'} (T+521840090 ms) 2026-01-05 21:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521880083 ms) 2026-01-05 21:12:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521880084 ms) 2026-01-05 21:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521880084 ms) 2026-01-05 21:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521880085 ms) 2026-01-05 21:12:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521881118 ms) 2026-01-05 21:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521881119 ms) 2026-01-05 21:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:12:40.710709+00:00', 'runtime': '521880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521881120 ms) 2026-01-05 21:12:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:11:40.710719+00:00', 'runtime': '521820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521881120 ms) 2026-01-05 21:13:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521900087 ms) 2026-01-05 21:13:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521900088 ms) 2026-01-05 21:13:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:12:40.710844+00:00'} (T+521900090 ms) 2026-01-05 21:13:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+521940084 ms) 2026-01-05 21:13:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+521940085 ms) 2026-01-05 21:13:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+521940085 ms) 2026-01-05 21:13:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+521940086 ms) 2026-01-05 21:13:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+521941119 ms) 2026-01-05 21:13:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+521941119 ms) 2026-01-05 21:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:13:40.713163+00:00', 'runtime': '521940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521941120 ms) 2026-01-05 21:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:12:40.710709+00:00', 'runtime': '521880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+521941121 ms) 2026-01-05 21:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521960090 ms) 2026-01-05 21:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+521960091 ms) 2026-01-05 21:14:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:13:40.710809+00:00'} (T+521960093 ms) 2026-01-05 21:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522000083 ms) 2026-01-05 21:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522000083 ms) 2026-01-05 21:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522000084 ms) 2026-01-05 21:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522000084 ms) 2026-01-05 21:14:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522001113 ms) 2026-01-05 21:14:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522001113 ms) 2026-01-05 21:14:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:14:40.710712+00:00', 'runtime': '522000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522001114 ms) 2026-01-05 21:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:13:40.713163+00:00', 'runtime': '521940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522001115 ms) 2026-01-05 21:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522020090 ms) 2026-01-05 21:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522020091 ms) 2026-01-05 21:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:14:40.710839+00:00'} (T+522020094 ms) 2026-01-05 21:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522060083 ms) 2026-01-05 21:15:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522060084 ms) 2026-01-05 21:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522060084 ms) 2026-01-05 21:15:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522060085 ms) 2026-01-05 21:15:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522061119 ms) 2026-01-05 21:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522061120 ms) 2026-01-05 21:15:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:15:40.710746+00:00', 'runtime': '522060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522061122 ms) 2026-01-05 21:15:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:14:40.710712+00:00', 'runtime': '522000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522061123 ms) 2026-01-05 21:16:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522080092 ms) 2026-01-05 21:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522080094 ms) 2026-01-05 21:16:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:15:40.713239+00:00'} (T+522080098 ms) 2026-01-05 21:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522120082 ms) 2026-01-05 21:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522120083 ms) 2026-01-05 21:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522120083 ms) 2026-01-05 21:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522120084 ms) 2026-01-05 21:16:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522121123 ms) 2026-01-05 21:16:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522121124 ms) 2026-01-05 21:16:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:16:40.710713+00:00', 'runtime': '522120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522121127 ms) 2026-01-05 21:16:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:15:40.710746+00:00', 'runtime': '522060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522121127 ms) 2026-01-05 21:17:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522140089 ms) 2026-01-05 21:17:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522140089 ms) 2026-01-05 21:17:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:16:40.710837+00:00'} (T+522140091 ms) 2026-01-05 21:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522180083 ms) 2026-01-05 21:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522180083 ms) 2026-01-05 21:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522180084 ms) 2026-01-05 21:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522180084 ms) 2026-01-05 21:17:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522181117 ms) 2026-01-05 21:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522181117 ms) 2026-01-05 21:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:17:40.710708+00:00', 'runtime': '522180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522181118 ms) 2026-01-05 21:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:16:40.710713+00:00', 'runtime': '522120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522181119 ms) 2026-01-05 21:18:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522200092 ms) 2026-01-05 21:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522200094 ms) 2026-01-05 21:18:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:17:40.713238+00:00'} (T+522200096 ms) 2026-01-05 21:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522240083 ms) 2026-01-05 21:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522240083 ms) 2026-01-05 21:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522240083 ms) 2026-01-05 21:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522240084 ms) 2026-01-05 21:18:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522241116 ms) 2026-01-05 21:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522241117 ms) 2026-01-05 21:18:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:18:40.710778+00:00', 'runtime': '522240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522241118 ms) 2026-01-05 21:18:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:17:40.710708+00:00', 'runtime': '522180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522241118 ms) 2026-01-05 21:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522260090 ms) 2026-01-05 21:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522260091 ms) 2026-01-05 21:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:18:40.710869+00:00'} (T+522260093 ms) 2026-01-05 21:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522300082 ms) 2026-01-05 21:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522300083 ms) 2026-01-05 21:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522300083 ms) 2026-01-05 21:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522300083 ms) 2026-01-05 21:19:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522301116 ms) 2026-01-05 21:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522301117 ms) 2026-01-05 21:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:19:40.710753+00:00', 'runtime': '522300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522301118 ms) 2026-01-05 21:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:18:40.710778+00:00', 'runtime': '522240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522301118 ms) 2026-01-05 21:20:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522320091 ms) 2026-01-05 21:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522320092 ms) 2026-01-05 21:20:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:19:40.710856+00:00'} (T+522320095 ms) 2026-01-05 21:20:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522360084 ms) 2026-01-05 21:20:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522360084 ms) 2026-01-05 21:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522360085 ms) 2026-01-05 21:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522360085 ms) 2026-01-05 21:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522361120 ms) 2026-01-05 21:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522361120 ms) 2026-01-05 21:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:20:40.710746+00:00', 'runtime': '522360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522361121 ms) 2026-01-05 21:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:19:40.710753+00:00', 'runtime': '522300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522361121 ms) 2026-01-05 21:21:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522380092 ms) 2026-01-05 21:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522380093 ms) 2026-01-05 21:21:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:20:40.713241+00:00'} (T+522380096 ms) 2026-01-05 21:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522420083 ms) 2026-01-05 21:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522420083 ms) 2026-01-05 21:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522420083 ms) 2026-01-05 21:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522420083 ms) 2026-01-05 21:21:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522421118 ms) 2026-01-05 21:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522421119 ms) 2026-01-05 21:21:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:21:40.710703+00:00', 'runtime': '522420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522421121 ms) 2026-01-05 21:21:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:20:40.710746+00:00', 'runtime': '522360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522421122 ms) 2026-01-05 21:22:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522440090 ms) 2026-01-05 21:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522440092 ms) 2026-01-05 21:22:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:21:40.710846+00:00'} (T+522440094 ms) 2026-01-05 21:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522480082 ms) 2026-01-05 21:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522480083 ms) 2026-01-05 21:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522480083 ms) 2026-01-05 21:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522480083 ms) 2026-01-05 21:22:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522481113 ms) 2026-01-05 21:22:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522481113 ms) 2026-01-05 21:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:22:40.710710+00:00', 'runtime': '522480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522481114 ms) 2026-01-05 21:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:21:40.710703+00:00', 'runtime': '522420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522481114 ms) 2026-01-05 21:23:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522500088 ms) 2026-01-05 21:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522500089 ms) 2026-01-05 21:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:22:40.710812+00:00'} (T+522500092 ms) 2026-01-05 21:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522540083 ms) 2026-01-05 21:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522540083 ms) 2026-01-05 21:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522540084 ms) 2026-01-05 21:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522540084 ms) 2026-01-05 21:23:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522541113 ms) 2026-01-05 21:23:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522541114 ms) 2026-01-05 21:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:23:40.710759+00:00', 'runtime': '522540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522541115 ms) 2026-01-05 21:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:22:40.710710+00:00', 'runtime': '522480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522541115 ms) 2026-01-05 21:24:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522560085 ms) 2026-01-05 21:24:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522560087 ms) 2026-01-05 21:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:23:40.710858+00:00'} (T+522560088 ms) 2026-01-05 21:24:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522600080 ms) 2026-01-05 21:24:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522600081 ms) 2026-01-05 21:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522600081 ms) 2026-01-05 21:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522600081 ms) 2026-01-05 21:24:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522601120 ms) 2026-01-05 21:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522601120 ms) 2026-01-05 21:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:24:40.713174+00:00', 'runtime': '522600.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522601123 ms) 2026-01-05 21:24:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:23:40.710759+00:00', 'runtime': '522540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522601124 ms) 2026-01-05 21:25:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522620088 ms) 2026-01-05 21:25:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522620090 ms) 2026-01-05 21:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:24:40.710805+00:00'} (T+522620092 ms) 2026-01-05 21:25:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522660086 ms) 2026-01-05 21:25:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522660086 ms) 2026-01-05 21:25:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522660087 ms) 2026-01-05 21:25:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522660087 ms) 2026-01-05 21:25:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522661123 ms) 2026-01-05 21:25:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522661123 ms) 2026-01-05 21:25:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:25:40.713157+00:00', 'runtime': '522660.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522661124 ms) 2026-01-05 21:25:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:24:40.713174+00:00', 'runtime': '522600.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522661125 ms) 2026-01-05 21:26:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522680083 ms) 2026-01-05 21:26:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522680084 ms) 2026-01-05 21:26:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:25:40.710822+00:00'} (T+522680087 ms) 2026-01-05 21:26:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522720076 ms) 2026-01-05 21:26:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522720077 ms) 2026-01-05 21:26:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522720077 ms) 2026-01-05 21:26:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522720077 ms) 2026-01-05 21:26:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522721113 ms) 2026-01-05 21:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522721114 ms) 2026-01-05 21:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:26:40.710701+00:00', 'runtime': '522720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522721118 ms) 2026-01-05 21:26:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:25:40.713157+00:00', 'runtime': '522660.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522721119 ms) 2026-01-05 21:27:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522740088 ms) 2026-01-05 21:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522740089 ms) 2026-01-05 21:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:26:40.710852+00:00'} (T+522740092 ms) 2026-01-05 21:27:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522780086 ms) 2026-01-05 21:27:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522780086 ms) 2026-01-05 21:27:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522780087 ms) 2026-01-05 21:27:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522780087 ms) 2026-01-05 21:27:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522781120 ms) 2026-01-05 21:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522781120 ms) 2026-01-05 21:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:27:40.713167+00:00', 'runtime': '522780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522781121 ms) 2026-01-05 21:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:26:40.710701+00:00', 'runtime': '522720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522781121 ms) 2026-01-05 21:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522800090 ms) 2026-01-05 21:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522800091 ms) 2026-01-05 21:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:27:40.710789+00:00'} (T+522800094 ms) 2026-01-05 21:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522840082 ms) 2026-01-05 21:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522840083 ms) 2026-01-05 21:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522840083 ms) 2026-01-05 21:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522840084 ms) 2026-01-05 21:28:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522841124 ms) 2026-01-05 21:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522841125 ms) 2026-01-05 21:28:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:28:40.710733+00:00', 'runtime': '522840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522841127 ms) 2026-01-05 21:28:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:27:40.713167+00:00', 'runtime': '522780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522841128 ms) 2026-01-05 21:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522860091 ms) 2026-01-05 21:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522860092 ms) 2026-01-05 21:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:28:40.710855+00:00'} (T+522860094 ms) 2026-01-05 21:29:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522900085 ms) 2026-01-05 21:29:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522900086 ms) 2026-01-05 21:29:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522900086 ms) 2026-01-05 21:29:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522900087 ms) 2026-01-05 21:29:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522901115 ms) 2026-01-05 21:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522901115 ms) 2026-01-05 21:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:29:40.713171+00:00', 'runtime': '522900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522901116 ms) 2026-01-05 21:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:28:40.710733+00:00', 'runtime': '522840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522901117 ms) 2026-01-05 21:30:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522920087 ms) 2026-01-05 21:30:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522920088 ms) 2026-01-05 21:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:29:40.710784+00:00'} (T+522920091 ms) 2026-01-05 21:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+522960082 ms) 2026-01-05 21:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+522960083 ms) 2026-01-05 21:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+522960083 ms) 2026-01-05 21:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+522960084 ms) 2026-01-05 21:30:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+522961117 ms) 2026-01-05 21:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+522961117 ms) 2026-01-05 21:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:30:40.710747+00:00', 'runtime': '522960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522961118 ms) 2026-01-05 21:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:29:40.713171+00:00', 'runtime': '522900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+522961119 ms) 2026-01-05 21:31:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522980093 ms) 2026-01-05 21:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+522980094 ms) 2026-01-05 21:31:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:30:40.713221+00:00'} (T+522980097 ms) 2026-01-05 21:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523020083 ms) 2026-01-05 21:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523020084 ms) 2026-01-05 21:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523020084 ms) 2026-01-05 21:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523020084 ms) 2026-01-05 21:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523021119 ms) 2026-01-05 21:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523021120 ms) 2026-01-05 21:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:31:40.710752+00:00', 'runtime': '523020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523021121 ms) 2026-01-05 21:31:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:30:40.710747+00:00', 'runtime': '522960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523021121 ms) 2026-01-05 21:32:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523040088 ms) 2026-01-05 21:32:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523040089 ms) 2026-01-05 21:32:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:31:40.710849+00:00'} (T+523040090 ms) 2026-01-05 21:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523080082 ms) 2026-01-05 21:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523080083 ms) 2026-01-05 21:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523080083 ms) 2026-01-05 21:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523080084 ms) 2026-01-05 21:32:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523081119 ms) 2026-01-05 21:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523081119 ms) 2026-01-05 21:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:32:40.710775+00:00', 'runtime': '523080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523081120 ms) 2026-01-05 21:32:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:31:40.710752+00:00', 'runtime': '523020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523081121 ms) 2026-01-05 21:33:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523100092 ms) 2026-01-05 21:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523100093 ms) 2026-01-05 21:33:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:32:40.713240+00:00'} (T+523100096 ms) 2026-01-05 21:33:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523140080 ms) 2026-01-05 21:33:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523140080 ms) 2026-01-05 21:33:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523140080 ms) 2026-01-05 21:33:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523140080 ms) 2026-01-05 21:33:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523141116 ms) 2026-01-05 21:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523141117 ms) 2026-01-05 21:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:33:40.710747+00:00', 'runtime': '523140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523141119 ms) 2026-01-05 21:33:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:32:40.710775+00:00', 'runtime': '523080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523141122 ms) 2026-01-05 21:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523160088 ms) 2026-01-05 21:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523160089 ms) 2026-01-05 21:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:33:40.710862+00:00'} (T+523160090 ms) 2026-01-05 21:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523200083 ms) 2026-01-05 21:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523200083 ms) 2026-01-05 21:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523200084 ms) 2026-01-05 21:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523200084 ms) 2026-01-05 21:34:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523201117 ms) 2026-01-05 21:34:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523201118 ms) 2026-01-05 21:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:34:40.710786+00:00', 'runtime': '523200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523201119 ms) 2026-01-05 21:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:33:40.710747+00:00', 'runtime': '523140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523201119 ms) 2026-01-05 21:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523220088 ms) 2026-01-05 21:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523220089 ms) 2026-01-05 21:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:34:40.710884+00:00'} (T+523220092 ms) 2026-01-05 21:35:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523260076 ms) 2026-01-05 21:35:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523260077 ms) 2026-01-05 21:35:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523260077 ms) 2026-01-05 21:35:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523260077 ms) 2026-01-05 21:35:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523261112 ms) 2026-01-05 21:35:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523261113 ms) 2026-01-05 21:35:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:35:40.710725+00:00', 'runtime': '523260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523261115 ms) 2026-01-05 21:35:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:34:40.710786+00:00', 'runtime': '523200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523261116 ms) 2026-01-05 21:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523280089 ms) 2026-01-05 21:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523280090 ms) 2026-01-05 21:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:35:40.710838+00:00'} (T+523280093 ms) 2026-01-05 21:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523320083 ms) 2026-01-05 21:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523320083 ms) 2026-01-05 21:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523320083 ms) 2026-01-05 21:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523320084 ms) 2026-01-05 21:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523321117 ms) 2026-01-05 21:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523321117 ms) 2026-01-05 21:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:36:40.710771+00:00', 'runtime': '523320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523321118 ms) 2026-01-05 21:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:35:40.710725+00:00', 'runtime': '523260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523321118 ms) 2026-01-05 21:37:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523340085 ms) 2026-01-05 21:37:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523340086 ms) 2026-01-05 21:37:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:36:40.710868+00:00'} (T+523340087 ms) 2026-01-05 21:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523380083 ms) 2026-01-05 21:37:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523380084 ms) 2026-01-05 21:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523380084 ms) 2026-01-05 21:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523380084 ms) 2026-01-05 21:37:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523381124 ms) 2026-01-05 21:37:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523381125 ms) 2026-01-05 21:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:37:40.710752+00:00', 'runtime': '523380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523381127 ms) 2026-01-05 21:37:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:36:40.710771+00:00', 'runtime': '523320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523381128 ms) 2026-01-05 21:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523400087 ms) 2026-01-05 21:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523400088 ms) 2026-01-05 21:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:37:40.710856+00:00'} (T+523400091 ms) 2026-01-05 21:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523440082 ms) 2026-01-05 21:38:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523440083 ms) 2026-01-05 21:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523440083 ms) 2026-01-05 21:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523440083 ms) 2026-01-05 21:38:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523441116 ms) 2026-01-05 21:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523441117 ms) 2026-01-05 21:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:38:40.710720+00:00', 'runtime': '523440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523441118 ms) 2026-01-05 21:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:37:40.710752+00:00', 'runtime': '523380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523441118 ms) 2026-01-05 21:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523460090 ms) 2026-01-05 21:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523460091 ms) 2026-01-05 21:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:38:40.710857+00:00'} (T+523460094 ms) 2026-01-05 21:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523500083 ms) 2026-01-05 21:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523500084 ms) 2026-01-05 21:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523500084 ms) 2026-01-05 21:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523500084 ms) 2026-01-05 21:39:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523501119 ms) 2026-01-05 21:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523501120 ms) 2026-01-05 21:39:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:39:40.710769+00:00', 'runtime': '523500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523501121 ms) 2026-01-05 21:39:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:38:40.710720+00:00', 'runtime': '523440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523501122 ms) 2026-01-05 21:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523520090 ms) 2026-01-05 21:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523520091 ms) 2026-01-05 21:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:39:40.710835+00:00'} (T+523520094 ms) 2026-01-05 21:40:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523560080 ms) 2026-01-05 21:40:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523560081 ms) 2026-01-05 21:40:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523560081 ms) 2026-01-05 21:40:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523560081 ms) 2026-01-05 21:40:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523561119 ms) 2026-01-05 21:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523561121 ms) 2026-01-05 21:40:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:40:40.710715+00:00', 'runtime': '523560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523561123 ms) 2026-01-05 21:40:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:39:40.710769+00:00', 'runtime': '523500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523561124 ms) 2026-01-05 21:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523580090 ms) 2026-01-05 21:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523580091 ms) 2026-01-05 21:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:40:40.710839+00:00'} (T+523580094 ms) 2026-01-05 21:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523620082 ms) 2026-01-05 21:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523620083 ms) 2026-01-05 21:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523620083 ms) 2026-01-05 21:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523620084 ms) 2026-01-05 21:41:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523621122 ms) 2026-01-05 21:41:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523621123 ms) 2026-01-05 21:41:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:41:40.710752+00:00', 'runtime': '523620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523621125 ms) 2026-01-05 21:41:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:40:40.710715+00:00', 'runtime': '523560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523621126 ms) 2026-01-05 21:42:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523640086 ms) 2026-01-05 21:42:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523640086 ms) 2026-01-05 21:42:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:41:40.710871+00:00'} (T+523640087 ms) 2026-01-05 21:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523680083 ms) 2026-01-05 21:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523680083 ms) 2026-01-05 21:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523680084 ms) 2026-01-05 21:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523680084 ms) 2026-01-05 21:42:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523681124 ms) 2026-01-05 21:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523681125 ms) 2026-01-05 21:42:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:42:40.710744+00:00', 'runtime': '523680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523681127 ms) 2026-01-05 21:42:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:41:40.710752+00:00', 'runtime': '523620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523681128 ms) 2026-01-05 21:43:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523700091 ms) 2026-01-05 21:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523700092 ms) 2026-01-05 21:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:42:40.713241+00:00'} (T+523700094 ms) 2026-01-05 21:43:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523740077 ms) 2026-01-05 21:43:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523740078 ms) 2026-01-05 21:43:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523740078 ms) 2026-01-05 21:43:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523740078 ms) 2026-01-05 21:43:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523741114 ms) 2026-01-05 21:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523741115 ms) 2026-01-05 21:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:43:40.710708+00:00', 'runtime': '523740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523741117 ms) 2026-01-05 21:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:42:40.710744+00:00', 'runtime': '523680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523741118 ms) 2026-01-05 21:44:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523760089 ms) 2026-01-05 21:44:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523760090 ms) 2026-01-05 21:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:43:40.713240+00:00'} (T+523760092 ms) 2026-01-05 21:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523800083 ms) 2026-01-05 21:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523800084 ms) 2026-01-05 21:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523800084 ms) 2026-01-05 21:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523800084 ms) 2026-01-05 21:44:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523801122 ms) 2026-01-05 21:44:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523801123 ms) 2026-01-05 21:44:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:44:40.710731+00:00', 'runtime': '523800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523801125 ms) 2026-01-05 21:44:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:43:40.710708+00:00', 'runtime': '523740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523801126 ms) 2026-01-05 21:45:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523820091 ms) 2026-01-05 21:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523820092 ms) 2026-01-05 21:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:44:40.710824+00:00'} (T+523820094 ms) 2026-01-05 21:45:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523860084 ms) 2026-01-05 21:45:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523860085 ms) 2026-01-05 21:45:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523860085 ms) 2026-01-05 21:45:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523860086 ms) 2026-01-05 21:45:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523861117 ms) 2026-01-05 21:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523861118 ms) 2026-01-05 21:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:45:40.713151+00:00', 'runtime': '523860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523861118 ms) 2026-01-05 21:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:44:40.710731+00:00', 'runtime': '523800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523861119 ms) 2026-01-05 21:46:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523880088 ms) 2026-01-05 21:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523880089 ms) 2026-01-05 21:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:45:40.710808+00:00'} (T+523880092 ms) 2026-01-05 21:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523920083 ms) 2026-01-05 21:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523920083 ms) 2026-01-05 21:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523920083 ms) 2026-01-05 21:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523920084 ms) 2026-01-05 21:46:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523921117 ms) 2026-01-05 21:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523921117 ms) 2026-01-05 21:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:46:40.710767+00:00', 'runtime': '523920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523921119 ms) 2026-01-05 21:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:45:40.713151+00:00', 'runtime': '523860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523921119 ms) 2026-01-05 21:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523940087 ms) 2026-01-05 21:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+523940088 ms) 2026-01-05 21:47:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:46:40.710861+00:00'} (T+523940090 ms) 2026-01-05 21:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+523980083 ms) 2026-01-05 21:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+523980083 ms) 2026-01-05 21:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+523980083 ms) 2026-01-05 21:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+523980084 ms) 2026-01-05 21:47:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+523981117 ms) 2026-01-05 21:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+523981118 ms) 2026-01-05 21:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:47:40.710741+00:00', 'runtime': '523980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523981120 ms) 2026-01-05 21:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:46:40.710767+00:00', 'runtime': '523920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+523981120 ms) 2026-01-05 21:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524000087 ms) 2026-01-05 21:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524000088 ms) 2026-01-05 21:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:47:40.710857+00:00'} (T+524000091 ms) 2026-01-05 21:48:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524040076 ms) 2026-01-05 21:48:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524040077 ms) 2026-01-05 21:48:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524040077 ms) 2026-01-05 21:48:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524040077 ms) 2026-01-05 21:48:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524041112 ms) 2026-01-05 21:48:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524041113 ms) 2026-01-05 21:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:48:40.710721+00:00', 'runtime': '524040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524041115 ms) 2026-01-05 21:48:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:47:40.710741+00:00', 'runtime': '523980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524041116 ms) 2026-01-05 21:49:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524060088 ms) 2026-01-05 21:49:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524060089 ms) 2026-01-05 21:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:48:40.710856+00:00'} (T+524060091 ms) 2026-01-05 21:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524100083 ms) 2026-01-05 21:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524100083 ms) 2026-01-05 21:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524100084 ms) 2026-01-05 21:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524100084 ms) 2026-01-05 21:49:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524101121 ms) 2026-01-05 21:49:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524101122 ms) 2026-01-05 21:49:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:49:40.710714+00:00', 'runtime': '524100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524101124 ms) 2026-01-05 21:49:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:48:40.710721+00:00', 'runtime': '524040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524101127 ms) 2026-01-05 21:50:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524120093 ms) 2026-01-05 21:50:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524120094 ms) 2026-01-05 21:50:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:49:40.713216+00:00'} (T+524120097 ms) 2026-01-05 21:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524160082 ms) 2026-01-05 21:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524160083 ms) 2026-01-05 21:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524160083 ms) 2026-01-05 21:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524160084 ms) 2026-01-05 21:50:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524161122 ms) 2026-01-05 21:50:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524161123 ms) 2026-01-05 21:50:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:50:40.710724+00:00', 'runtime': '524160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524161125 ms) 2026-01-05 21:50:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:49:40.710714+00:00', 'runtime': '524100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524161126 ms) 2026-01-05 21:51:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524180091 ms) 2026-01-05 21:51:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524180092 ms) 2026-01-05 21:51:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:50:40.710855+00:00'} (T+524180095 ms) 2026-01-05 21:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524220082 ms) 2026-01-05 21:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524220083 ms) 2026-01-05 21:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524220083 ms) 2026-01-05 21:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524220084 ms) 2026-01-05 21:51:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524221118 ms) 2026-01-05 21:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524221119 ms) 2026-01-05 21:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:51:40.710701+00:00', 'runtime': '524220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524221120 ms) 2026-01-05 21:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:50:40.710724+00:00', 'runtime': '524160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524221120 ms) 2026-01-05 21:52:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524240091 ms) 2026-01-05 21:52:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524240092 ms) 2026-01-05 21:52:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:51:40.710864+00:00'} (T+524240095 ms) 2026-01-05 21:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524280083 ms) 2026-01-05 21:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524280083 ms) 2026-01-05 21:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524280083 ms) 2026-01-05 21:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524280084 ms) 2026-01-05 21:52:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524281119 ms) 2026-01-05 21:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524281120 ms) 2026-01-05 21:52:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:52:40.710745+00:00', 'runtime': '524280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524281122 ms) 2026-01-05 21:52:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:51:40.710701+00:00', 'runtime': '524220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524281123 ms) 2026-01-05 21:53:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524300092 ms) 2026-01-05 21:53:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524300093 ms) 2026-01-05 21:53:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:52:40.713242+00:00'} (T+524300096 ms) 2026-01-05 21:53:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524340084 ms) 2026-01-05 21:53:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524340084 ms) 2026-01-05 21:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524340084 ms) 2026-01-05 21:53:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524340085 ms) 2026-01-05 21:53:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524341122 ms) 2026-01-05 21:53:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524341123 ms) 2026-01-05 21:53:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:53:40.710725+00:00', 'runtime': '524340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524341125 ms) 2026-01-05 21:53:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:52:40.710745+00:00', 'runtime': '524280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524341126 ms) 2026-01-05 21:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524360087 ms) 2026-01-05 21:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524360088 ms) 2026-01-05 21:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:53:40.710840+00:00'} (T+524360091 ms) 2026-01-05 21:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524400083 ms) 2026-01-05 21:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524400083 ms) 2026-01-05 21:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524400084 ms) 2026-01-05 21:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524400084 ms) 2026-01-05 21:54:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524401114 ms) 2026-01-05 21:54:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524401115 ms) 2026-01-05 21:54:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:54:40.710699+00:00', 'runtime': '524400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524401116 ms) 2026-01-05 21:54:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:53:40.710725+00:00', 'runtime': '524340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524401116 ms) 2026-01-05 21:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524420090 ms) 2026-01-05 21:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524420091 ms) 2026-01-05 21:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:54:40.710846+00:00'} (T+524420094 ms) 2026-01-05 21:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524460082 ms) 2026-01-05 21:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524460083 ms) 2026-01-05 21:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524460083 ms) 2026-01-05 21:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524460084 ms) 2026-01-05 21:55:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524461116 ms) 2026-01-05 21:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524461117 ms) 2026-01-05 21:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:55:40.710792+00:00', 'runtime': '524460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524461117 ms) 2026-01-05 21:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:54:40.710699+00:00', 'runtime': '524400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524461119 ms) 2026-01-05 21:56:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524480091 ms) 2026-01-05 21:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524480092 ms) 2026-01-05 21:56:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:55:40.710882+00:00'} (T+524480095 ms) 2026-01-05 21:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524520083 ms) 2026-01-05 21:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524520083 ms) 2026-01-05 21:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524520084 ms) 2026-01-05 21:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524520084 ms) 2026-01-05 21:56:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524521119 ms) 2026-01-05 21:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524521119 ms) 2026-01-05 21:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:56:40.710774+00:00', 'runtime': '524520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524521120 ms) 2026-01-05 21:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:55:40.710792+00:00', 'runtime': '524460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524521120 ms) 2026-01-05 21:57:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524540091 ms) 2026-01-05 21:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524540092 ms) 2026-01-05 21:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:56:40.710861+00:00'} (T+524540095 ms) 2026-01-05 21:57:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524580076 ms) 2026-01-05 21:57:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524580077 ms) 2026-01-05 21:57:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524580077 ms) 2026-01-05 21:57:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524580077 ms) 2026-01-05 21:57:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524581112 ms) 2026-01-05 21:57:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524581113 ms) 2026-01-05 21:57:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:57:40.710748+00:00', 'runtime': '524580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524581115 ms) 2026-01-05 21:57:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:56:40.710774+00:00', 'runtime': '524520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524581116 ms) 2026-01-05 21:58:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524600084 ms) 2026-01-05 21:58:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524600085 ms) 2026-01-05 21:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:57:40.710864+00:00'} (T+524600088 ms) 2026-01-05 21:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524640083 ms) 2026-01-05 21:58:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524640084 ms) 2026-01-05 21:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524640084 ms) 2026-01-05 21:58:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524640085 ms) 2026-01-05 21:58:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524641122 ms) 2026-01-05 21:58:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524641123 ms) 2026-01-05 21:58:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:58:40.710757+00:00', 'runtime': '524640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524641125 ms) 2026-01-05 21:58:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:57:40.710748+00:00', 'runtime': '524580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524641126 ms) 2026-01-05 21:59:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524660089 ms) 2026-01-05 21:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524660091 ms) 2026-01-05 21:59:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:58:40.713232+00:00'} (T+524660093 ms) 2026-01-05 21:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524700082 ms) 2026-01-05 21:59:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524700083 ms) 2026-01-05 21:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524700083 ms) 2026-01-05 21:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524700083 ms) 2026-01-05 21:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524701116 ms) 2026-01-05 21:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524701117 ms) 2026-01-05 21:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 21:59:40.710731+00:00', 'runtime': '524700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524701118 ms) 2026-01-05 21:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:58:40.710757+00:00', 'runtime': '524640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524701118 ms) 2026-01-05 22:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524720088 ms) 2026-01-05 22:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524720089 ms) 2026-01-05 22:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 21:59:40.710852+00:00'} (T+524720091 ms) 2026-01-05 22:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524760082 ms) 2026-01-05 22:00:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524760083 ms) 2026-01-05 22:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524760083 ms) 2026-01-05 22:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524760083 ms) 2026-01-05 22:00:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524761117 ms) 2026-01-05 22:00:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524761118 ms) 2026-01-05 22:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:00:40.710748+00:00', 'runtime': '524760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524761119 ms) 2026-01-05 22:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 21:59:40.710731+00:00', 'runtime': '524700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524761119 ms) 2026-01-05 22:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524780091 ms) 2026-01-05 22:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524780092 ms) 2026-01-05 22:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:00:40.710858+00:00'} (T+524780095 ms) 2026-01-05 22:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524820082 ms) 2026-01-05 22:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524820083 ms) 2026-01-05 22:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524820083 ms) 2026-01-05 22:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524820084 ms) 2026-01-05 22:01:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524821116 ms) 2026-01-05 22:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524821117 ms) 2026-01-05 22:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:01:40.710740+00:00', 'runtime': '524820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524821118 ms) 2026-01-05 22:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:00:40.710748+00:00', 'runtime': '524760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524821118 ms) 2026-01-05 22:02:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524840091 ms) 2026-01-05 22:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524840092 ms) 2026-01-05 22:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:01:40.710840+00:00'} (T+524840094 ms) 2026-01-05 22:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524880083 ms) 2026-01-05 22:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524880083 ms) 2026-01-05 22:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524880083 ms) 2026-01-05 22:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524880084 ms) 2026-01-05 22:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524881116 ms) 2026-01-05 22:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524881117 ms) 2026-01-05 22:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:02:40.710729+00:00', 'runtime': '524880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524881118 ms) 2026-01-05 22:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:01:40.710740+00:00', 'runtime': '524820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524881118 ms) 2026-01-05 22:03:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524900087 ms) 2026-01-05 22:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524900088 ms) 2026-01-05 22:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:02:40.710855+00:00'} (T+524900091 ms) 2026-01-05 22:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+524940083 ms) 2026-01-05 22:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+524940083 ms) 2026-01-05 22:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+524940084 ms) 2026-01-05 22:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+524940084 ms) 2026-01-05 22:03:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+524941119 ms) 2026-01-05 22:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+524941119 ms) 2026-01-05 22:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:03:40.710737+00:00', 'runtime': '524940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524941120 ms) 2026-01-05 22:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:02:40.710729+00:00', 'runtime': '524880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+524941120 ms) 2026-01-05 22:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524960091 ms) 2026-01-05 22:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+524960092 ms) 2026-01-05 22:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:03:40.710816+00:00'} (T+524960095 ms) 2026-01-05 22:04:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525000082 ms) 2026-01-05 22:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525000083 ms) 2026-01-05 22:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525000083 ms) 2026-01-05 22:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525000084 ms) 2026-01-05 22:04:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525001115 ms) 2026-01-05 22:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525001116 ms) 2026-01-05 22:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:04:40.710745+00:00', 'runtime': '525000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525001117 ms) 2026-01-05 22:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:03:40.710737+00:00', 'runtime': '524940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525001117 ms) 2026-01-05 22:05:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525020093 ms) 2026-01-05 22:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525020094 ms) 2026-01-05 22:05:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:04:40.713227+00:00'} (T+525020097 ms) 2026-01-05 22:05:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525060083 ms) 2026-01-05 22:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525060083 ms) 2026-01-05 22:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525060083 ms) 2026-01-05 22:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525060084 ms) 2026-01-05 22:05:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525061116 ms) 2026-01-05 22:05:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525061116 ms) 2026-01-05 22:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:05:40.710796+00:00', 'runtime': '525060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525061117 ms) 2026-01-05 22:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:04:40.710745+00:00', 'runtime': '525000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525061118 ms) 2026-01-05 22:06:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525080091 ms) 2026-01-05 22:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525080092 ms) 2026-01-05 22:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:05:40.710879+00:00'} (T+525080094 ms) 2026-01-05 22:06:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525120077 ms) 2026-01-05 22:06:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525120078 ms) 2026-01-05 22:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525120078 ms) 2026-01-05 22:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525120078 ms) 2026-01-05 22:06:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525121115 ms) 2026-01-05 22:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525121116 ms) 2026-01-05 22:06:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:06:40.710741+00:00', 'runtime': '525120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525121122 ms) 2026-01-05 22:06:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:05:40.710796+00:00', 'runtime': '525060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525121123 ms) 2026-01-05 22:07:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525140085 ms) 2026-01-05 22:07:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525140086 ms) 2026-01-05 22:07:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:06:40.713241+00:00'} (T+525140089 ms) 2026-01-05 22:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525180083 ms) 2026-01-05 22:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525180084 ms) 2026-01-05 22:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525180084 ms) 2026-01-05 22:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525180084 ms) 2026-01-05 22:07:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525181122 ms) 2026-01-05 22:07:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525181123 ms) 2026-01-05 22:07:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:07:40.710726+00:00', 'runtime': '525180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525181125 ms) 2026-01-05 22:07:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:06:40.710741+00:00', 'runtime': '525120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525181126 ms) 2026-01-05 22:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525200090 ms) 2026-01-05 22:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525200091 ms) 2026-01-05 22:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:07:40.710840+00:00'} (T+525200094 ms) 2026-01-05 22:08:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525240085 ms) 2026-01-05 22:08:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525240085 ms) 2026-01-05 22:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525240085 ms) 2026-01-05 22:08:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525240086 ms) 2026-01-05 22:08:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525241117 ms) 2026-01-05 22:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525241117 ms) 2026-01-05 22:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:08:40.713151+00:00', 'runtime': '525240.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525241118 ms) 2026-01-05 22:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:07:40.710726+00:00', 'runtime': '525180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525241118 ms) 2026-01-05 22:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525260087 ms) 2026-01-05 22:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525260088 ms) 2026-01-05 22:09:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:08:40.710803+00:00'} (T+525260090 ms) 2026-01-05 22:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525300083 ms) 2026-01-05 22:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525300083 ms) 2026-01-05 22:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525300084 ms) 2026-01-05 22:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525300084 ms) 2026-01-05 22:09:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525301113 ms) 2026-01-05 22:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525301113 ms) 2026-01-05 22:09:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:09:40.710736+00:00', 'runtime': '525300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525301114 ms) 2026-01-05 22:09:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:08:40.713151+00:00', 'runtime': '525240.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525301115 ms) 2026-01-05 22:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525320087 ms) 2026-01-05 22:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525320088 ms) 2026-01-05 22:10:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:09:40.710860+00:00'} (T+525320095 ms) 2026-01-05 22:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525360083 ms) 2026-01-05 22:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525360084 ms) 2026-01-05 22:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525360084 ms) 2026-01-05 22:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525360084 ms) 2026-01-05 22:10:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525361116 ms) 2026-01-05 22:10:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525361117 ms) 2026-01-05 22:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:10:40.710775+00:00', 'runtime': '525360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525361118 ms) 2026-01-05 22:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:09:40.710736+00:00', 'runtime': '525300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525361118 ms) 2026-01-05 22:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525380087 ms) 2026-01-05 22:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525380088 ms) 2026-01-05 22:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:10:40.710851+00:00'} (T+525380091 ms) 2026-01-05 22:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525420082 ms) 2026-01-05 22:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525420083 ms) 2026-01-05 22:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525420083 ms) 2026-01-05 22:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525420083 ms) 2026-01-05 22:11:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525421119 ms) 2026-01-05 22:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525421120 ms) 2026-01-05 22:11:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:11:40.710740+00:00', 'runtime': '525420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525421123 ms) 2026-01-05 22:11:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:10:40.710775+00:00', 'runtime': '525360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525421124 ms) 2026-01-05 22:12:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525440091 ms) 2026-01-05 22:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525440092 ms) 2026-01-05 22:12:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:11:40.710851+00:00'} (T+525440095 ms) 2026-01-05 22:12:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525480076 ms) 2026-01-05 22:12:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525480077 ms) 2026-01-05 22:12:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525480077 ms) 2026-01-05 22:12:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525480077 ms) 2026-01-05 22:12:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525481113 ms) 2026-01-05 22:12:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525481114 ms) 2026-01-05 22:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:12:40.710706+00:00', 'runtime': '525480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525481116 ms) 2026-01-05 22:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:11:40.710740+00:00', 'runtime': '525420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525481117 ms) 2026-01-05 22:13:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525500088 ms) 2026-01-05 22:13:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525500089 ms) 2026-01-05 22:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:12:40.710836+00:00'} (T+525500092 ms) 2026-01-05 22:13:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525540080 ms) 2026-01-05 22:13:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525540081 ms) 2026-01-05 22:13:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525540081 ms) 2026-01-05 22:13:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525540081 ms) 2026-01-05 22:13:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525541119 ms) 2026-01-05 22:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525541120 ms) 2026-01-05 22:13:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:13:40.710719+00:00', 'runtime': '525540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525541123 ms) 2026-01-05 22:13:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:12:40.710706+00:00', 'runtime': '525480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525541124 ms) 2026-01-05 22:14:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525560089 ms) 2026-01-05 22:14:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525560090 ms) 2026-01-05 22:14:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:13:40.710763+00:00'} (T+525560093 ms) 2026-01-05 22:14:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525600083 ms) 2026-01-05 22:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525600083 ms) 2026-01-05 22:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525600084 ms) 2026-01-05 22:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525600084 ms) 2026-01-05 22:14:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525601124 ms) 2026-01-05 22:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525601125 ms) 2026-01-05 22:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:14:40.710745+00:00', 'runtime': '525600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525601127 ms) 2026-01-05 22:14:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:13:40.710719+00:00', 'runtime': '525540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525601128 ms) 2026-01-05 22:15:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525620092 ms) 2026-01-05 22:15:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525620094 ms) 2026-01-05 22:15:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:14:40.713236+00:00'} (T+525620096 ms) 2026-01-05 22:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525660083 ms) 2026-01-05 22:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525660083 ms) 2026-01-05 22:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525660084 ms) 2026-01-05 22:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525660084 ms) 2026-01-05 22:15:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525661124 ms) 2026-01-05 22:15:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525661125 ms) 2026-01-05 22:15:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:15:40.710751+00:00', 'runtime': '525660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525661127 ms) 2026-01-05 22:15:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:14:40.710745+00:00', 'runtime': '525600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525661128 ms) 2026-01-05 22:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525680090 ms) 2026-01-05 22:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525680091 ms) 2026-01-05 22:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:15:40.710847+00:00'} (T+525680094 ms) 2026-01-05 22:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525720082 ms) 2026-01-05 22:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525720083 ms) 2026-01-05 22:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525720083 ms) 2026-01-05 22:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525720084 ms) 2026-01-05 22:16:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525721116 ms) 2026-01-05 22:16:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525721116 ms) 2026-01-05 22:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:16:40.710726+00:00', 'runtime': '525720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525721117 ms) 2026-01-05 22:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:15:40.710751+00:00', 'runtime': '525660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525721118 ms) 2026-01-05 22:17:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525740091 ms) 2026-01-05 22:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525740092 ms) 2026-01-05 22:17:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:16:40.713243+00:00'} (T+525740098 ms) 2026-01-05 22:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525780083 ms) 2026-01-05 22:17:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525780084 ms) 2026-01-05 22:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525780084 ms) 2026-01-05 22:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525780084 ms) 2026-01-05 22:17:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525781117 ms) 2026-01-05 22:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525781118 ms) 2026-01-05 22:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:17:40.710714+00:00', 'runtime': '525780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525781119 ms) 2026-01-05 22:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:16:40.710726+00:00', 'runtime': '525720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525781119 ms) 2026-01-05 22:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525800087 ms) 2026-01-05 22:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525800088 ms) 2026-01-05 22:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:17:40.710834+00:00'} (T+525800091 ms) 2026-01-05 22:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525840083 ms) 2026-01-05 22:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525840083 ms) 2026-01-05 22:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525840084 ms) 2026-01-05 22:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525840084 ms) 2026-01-05 22:18:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525841112 ms) 2026-01-05 22:18:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525841113 ms) 2026-01-05 22:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:18:40.710767+00:00', 'runtime': '525840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525841114 ms) 2026-01-05 22:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:17:40.710714+00:00', 'runtime': '525780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525841114 ms) 2026-01-05 22:19:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525860092 ms) 2026-01-05 22:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525860094 ms) 2026-01-05 22:19:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:18:40.713226+00:00'} (T+525860096 ms) 2026-01-05 22:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525900083 ms) 2026-01-05 22:19:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525900084 ms) 2026-01-05 22:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525900084 ms) 2026-01-05 22:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525900084 ms) 2026-01-05 22:19:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525901122 ms) 2026-01-05 22:19:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525901123 ms) 2026-01-05 22:19:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:19:40.710783+00:00', 'runtime': '525900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525901125 ms) 2026-01-05 22:19:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:18:40.710767+00:00', 'runtime': '525840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525901126 ms) 2026-01-05 22:20:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525920094 ms) 2026-01-05 22:20:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525920095 ms) 2026-01-05 22:20:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:19:40.713237+00:00'} (T+525920098 ms) 2026-01-05 22:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+525960083 ms) 2026-01-05 22:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+525960083 ms) 2026-01-05 22:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+525960084 ms) 2026-01-05 22:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+525960084 ms) 2026-01-05 22:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+525961119 ms) 2026-01-05 22:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+525961119 ms) 2026-01-05 22:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:20:40.710798+00:00', 'runtime': '525960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525961120 ms) 2026-01-05 22:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:19:40.710783+00:00', 'runtime': '525900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+525961121 ms) 2026-01-05 22:21:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525980087 ms) 2026-01-05 22:21:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+525980088 ms) 2026-01-05 22:21:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:20:40.710915+00:00'} (T+525980090 ms) 2026-01-05 22:21:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526020078 ms) 2026-01-05 22:21:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526020079 ms) 2026-01-05 22:21:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526020079 ms) 2026-01-05 22:21:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526020079 ms) 2026-01-05 22:21:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526021115 ms) 2026-01-05 22:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526021116 ms) 2026-01-05 22:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:21:40.710724+00:00', 'runtime': '526020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526021117 ms) 2026-01-05 22:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:20:40.710798+00:00', 'runtime': '525960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526021118 ms) 2026-01-05 22:22:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526040087 ms) 2026-01-05 22:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526040088 ms) 2026-01-05 22:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:21:40.710859+00:00'} (T+526040091 ms) 2026-01-05 22:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526080083 ms) 2026-01-05 22:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526080083 ms) 2026-01-05 22:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526080084 ms) 2026-01-05 22:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526080084 ms) 2026-01-05 22:22:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526081124 ms) 2026-01-05 22:22:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526081125 ms) 2026-01-05 22:22:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:22:40.710758+00:00', 'runtime': '526080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526081127 ms) 2026-01-05 22:22:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:21:40.710724+00:00', 'runtime': '526020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526081128 ms) 2026-01-05 22:23:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526100088 ms) 2026-01-05 22:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526100089 ms) 2026-01-05 22:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:22:40.710939+00:00'} (T+526100092 ms) 2026-01-05 22:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526140083 ms) 2026-01-05 22:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526140083 ms) 2026-01-05 22:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526140084 ms) 2026-01-05 22:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526140084 ms) 2026-01-05 22:23:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526141118 ms) 2026-01-05 22:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526141119 ms) 2026-01-05 22:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:23:40.710742+00:00', 'runtime': '526140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526141120 ms) 2026-01-05 22:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:22:40.710758+00:00', 'runtime': '526080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526141120 ms) 2026-01-05 22:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526160090 ms) 2026-01-05 22:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526160091 ms) 2026-01-05 22:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:23:40.710823+00:00'} (T+526160094 ms) 2026-01-05 22:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526200083 ms) 2026-01-05 22:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526200083 ms) 2026-01-05 22:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526200084 ms) 2026-01-05 22:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526200084 ms) 2026-01-05 22:24:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526201119 ms) 2026-01-05 22:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526201119 ms) 2026-01-05 22:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:24:40.710825+00:00', 'runtime': '526200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526201120 ms) 2026-01-05 22:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:23:40.710742+00:00', 'runtime': '526140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526201120 ms) 2026-01-05 22:25:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526220088 ms) 2026-01-05 22:25:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526220089 ms) 2026-01-05 22:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:24:40.710941+00:00'} (T+526220092 ms) 2026-01-05 22:25:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526260082 ms) 2026-01-05 22:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526260083 ms) 2026-01-05 22:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526260083 ms) 2026-01-05 22:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526260084 ms) 2026-01-05 22:25:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526261118 ms) 2026-01-05 22:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526261118 ms) 2026-01-05 22:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:25:40.710737+00:00', 'runtime': '526260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526261119 ms) 2026-01-05 22:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:24:40.710825+00:00', 'runtime': '526200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526261120 ms) 2026-01-05 22:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526280090 ms) 2026-01-05 22:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526280092 ms) 2026-01-05 22:26:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:25:40.710851+00:00'} (T+526280094 ms) 2026-01-05 22:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526320083 ms) 2026-01-05 22:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526320084 ms) 2026-01-05 22:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526320084 ms) 2026-01-05 22:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526320084 ms) 2026-01-05 22:26:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526321124 ms) 2026-01-05 22:26:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526321125 ms) 2026-01-05 22:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:26:40.710744+00:00', 'runtime': '526320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526321127 ms) 2026-01-05 22:26:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:25:40.710737+00:00', 'runtime': '526260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526321128 ms) 2026-01-05 22:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526340090 ms) 2026-01-05 22:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526340092 ms) 2026-01-05 22:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:26:40.710838+00:00'} (T+526340094 ms) 2026-01-05 22:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526380083 ms) 2026-01-05 22:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526380083 ms) 2026-01-05 22:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526380084 ms) 2026-01-05 22:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526380084 ms) 2026-01-05 22:27:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526381117 ms) 2026-01-05 22:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526381117 ms) 2026-01-05 22:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:27:40.710729+00:00', 'runtime': '526380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526381118 ms) 2026-01-05 22:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:26:40.710744+00:00', 'runtime': '526320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526381119 ms) 2026-01-05 22:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526400090 ms) 2026-01-05 22:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526400091 ms) 2026-01-05 22:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:27:40.710846+00:00'} (T+526400094 ms) 2026-01-05 22:28:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526440078 ms) 2026-01-05 22:28:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526440079 ms) 2026-01-05 22:28:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526440079 ms) 2026-01-05 22:28:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526440079 ms) 2026-01-05 22:28:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526441118 ms) 2026-01-05 22:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526441119 ms) 2026-01-05 22:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:28:40.710749+00:00', 'runtime': '526440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526441122 ms) 2026-01-05 22:28:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:27:40.710729+00:00', 'runtime': '526380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526441123 ms) 2026-01-05 22:29:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526460088 ms) 2026-01-05 22:29:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526460089 ms) 2026-01-05 22:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:28:40.710856+00:00'} (T+526460091 ms) 2026-01-05 22:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526500083 ms) 2026-01-05 22:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526500083 ms) 2026-01-05 22:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526500084 ms) 2026-01-05 22:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526500084 ms) 2026-01-05 22:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526501116 ms) 2026-01-05 22:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526501117 ms) 2026-01-05 22:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:29:40.710721+00:00', 'runtime': '526500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526501118 ms) 2026-01-05 22:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:28:40.710749+00:00', 'runtime': '526440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526501118 ms) 2026-01-05 22:30:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526520093 ms) 2026-01-05 22:30:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526520094 ms) 2026-01-05 22:30:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:29:40.713244+00:00'} (T+526520097 ms) 2026-01-05 22:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526560083 ms) 2026-01-05 22:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526560084 ms) 2026-01-05 22:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526560084 ms) 2026-01-05 22:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526560084 ms) 2026-01-05 22:30:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526561121 ms) 2026-01-05 22:30:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526561122 ms) 2026-01-05 22:30:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:30:40.710721+00:00', 'runtime': '526560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526561124 ms) 2026-01-05 22:30:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:29:40.710721+00:00', 'runtime': '526500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526561124 ms) 2026-01-05 22:31:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526580092 ms) 2026-01-05 22:31:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526580093 ms) 2026-01-05 22:31:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:30:40.713269+00:00'} (T+526580096 ms) 2026-01-05 22:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526620083 ms) 2026-01-05 22:31:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526620084 ms) 2026-01-05 22:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526620084 ms) 2026-01-05 22:31:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526620085 ms) 2026-01-05 22:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526621119 ms) 2026-01-05 22:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526621119 ms) 2026-01-05 22:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:31:40.710734+00:00', 'runtime': '526620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526621120 ms) 2026-01-05 22:31:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:30:40.710721+00:00', 'runtime': '526560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526621121 ms) 2026-01-05 22:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526640090 ms) 2026-01-05 22:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526640091 ms) 2026-01-05 22:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:31:40.710827+00:00'} (T+526640094 ms) 2026-01-05 22:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526680082 ms) 2026-01-05 22:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526680083 ms) 2026-01-05 22:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526680083 ms) 2026-01-05 22:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526680084 ms) 2026-01-05 22:32:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526681122 ms) 2026-01-05 22:32:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526681123 ms) 2026-01-05 22:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:32:40.710801+00:00', 'runtime': '526680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526681125 ms) 2026-01-05 22:32:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:31:40.710734+00:00', 'runtime': '526620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526681126 ms) 2026-01-05 22:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526700090 ms) 2026-01-05 22:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526700092 ms) 2026-01-05 22:33:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:32:40.710875+00:00'} (T+526700097 ms) 2026-01-05 22:33:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526740077 ms) 2026-01-05 22:33:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526740078 ms) 2026-01-05 22:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526740078 ms) 2026-01-05 22:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526740079 ms) 2026-01-05 22:33:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526741115 ms) 2026-01-05 22:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526741115 ms) 2026-01-05 22:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:33:40.710730+00:00', 'runtime': '526740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526741119 ms) 2026-01-05 22:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:32:40.710801+00:00', 'runtime': '526680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526741120 ms) 2026-01-05 22:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526760089 ms) 2026-01-05 22:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526760090 ms) 2026-01-05 22:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:33:40.710855+00:00'} (T+526760093 ms) 2026-01-05 22:34:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526800085 ms) 2026-01-05 22:34:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526800085 ms) 2026-01-05 22:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526800085 ms) 2026-01-05 22:34:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526800086 ms) 2026-01-05 22:34:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526801113 ms) 2026-01-05 22:34:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526801114 ms) 2026-01-05 22:34:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:34:40.713199+00:00', 'runtime': '526800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526801115 ms) 2026-01-05 22:34:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:33:40.710730+00:00', 'runtime': '526740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526801115 ms) 2026-01-05 22:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526820088 ms) 2026-01-05 22:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526820089 ms) 2026-01-05 22:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:34:40.710805+00:00'} (T+526820092 ms) 2026-01-05 22:35:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526860079 ms) 2026-01-05 22:35:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526860079 ms) 2026-01-05 22:35:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526860080 ms) 2026-01-05 22:35:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526860080 ms) 2026-01-05 22:35:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526861119 ms) 2026-01-05 22:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526861120 ms) 2026-01-05 22:35:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:35:40.713178+00:00', 'runtime': '526860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526861122 ms) 2026-01-05 22:35:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:34:40.713199+00:00', 'runtime': '526800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526861123 ms) 2026-01-05 22:36:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526880089 ms) 2026-01-05 22:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526880090 ms) 2026-01-05 22:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:35:40.710816+00:00'} (T+526880093 ms) 2026-01-05 22:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526920083 ms) 2026-01-05 22:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526920083 ms) 2026-01-05 22:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526920084 ms) 2026-01-05 22:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526920084 ms) 2026-01-05 22:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526921117 ms) 2026-01-05 22:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526921117 ms) 2026-01-05 22:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:36:40.710704+00:00', 'runtime': '526920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526921118 ms) 2026-01-05 22:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:35:40.713178+00:00', 'runtime': '526860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526921119 ms) 2026-01-05 22:37:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526940091 ms) 2026-01-05 22:37:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+526940092 ms) 2026-01-05 22:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:36:40.710853+00:00'} (T+526940095 ms) 2026-01-05 22:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+526980082 ms) 2026-01-05 22:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+526980083 ms) 2026-01-05 22:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+526980083 ms) 2026-01-05 22:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+526980083 ms) 2026-01-05 22:37:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+526981116 ms) 2026-01-05 22:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+526981116 ms) 2026-01-05 22:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:37:40.710765+00:00', 'runtime': '526980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526981117 ms) 2026-01-05 22:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:36:40.710704+00:00', 'runtime': '526920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+526981118 ms) 2026-01-05 22:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527000087 ms) 2026-01-05 22:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527000088 ms) 2026-01-05 22:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:37:40.710848+00:00'} (T+527000091 ms) 2026-01-05 22:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527040082 ms) 2026-01-05 22:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527040083 ms) 2026-01-05 22:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527040083 ms) 2026-01-05 22:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527040084 ms) 2026-01-05 22:38:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527041123 ms) 2026-01-05 22:38:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527041124 ms) 2026-01-05 22:38:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:38:40.710776+00:00', 'runtime': '527040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527041127 ms) 2026-01-05 22:38:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:37:40.710765+00:00', 'runtime': '526980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527041127 ms) 2026-01-05 22:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527060090 ms) 2026-01-05 22:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527060091 ms) 2026-01-05 22:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:38:40.710860+00:00'} (T+527060094 ms) 2026-01-05 22:39:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527100077 ms) 2026-01-05 22:39:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527100077 ms) 2026-01-05 22:39:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527100077 ms) 2026-01-05 22:39:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527100078 ms) 2026-01-05 22:39:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527101114 ms) 2026-01-05 22:39:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527101115 ms) 2026-01-05 22:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:39:40.710712+00:00', 'runtime': '527100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527101117 ms) 2026-01-05 22:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:38:40.710776+00:00', 'runtime': '527040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527101118 ms) 2026-01-05 22:40:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527120084 ms) 2026-01-05 22:40:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527120085 ms) 2026-01-05 22:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:39:40.710847+00:00'} (T+527120088 ms) 2026-01-05 22:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527160083 ms) 2026-01-05 22:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527160083 ms) 2026-01-05 22:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527160084 ms) 2026-01-05 22:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527160084 ms) 2026-01-05 22:40:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527161117 ms) 2026-01-05 22:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527161118 ms) 2026-01-05 22:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:40:40.710732+00:00', 'runtime': '527160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527161119 ms) 2026-01-05 22:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:39:40.710712+00:00', 'runtime': '527100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527161119 ms) 2026-01-05 22:41:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527180091 ms) 2026-01-05 22:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527180092 ms) 2026-01-05 22:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:40:40.713226+00:00'} (T+527180094 ms) 2026-01-05 22:41:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527220083 ms) 2026-01-05 22:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527220084 ms) 2026-01-05 22:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527220084 ms) 2026-01-05 22:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527220084 ms) 2026-01-05 22:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527221118 ms) 2026-01-05 22:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527221119 ms) 2026-01-05 22:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:41:40.710754+00:00', 'runtime': '527220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527221120 ms) 2026-01-05 22:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:40:40.710732+00:00', 'runtime': '527160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527221120 ms) 2026-01-05 22:42:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527240093 ms) 2026-01-05 22:42:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527240094 ms) 2026-01-05 22:42:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:41:40.713230+00:00'} (T+527240097 ms) 2026-01-05 22:42:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527280080 ms) 2026-01-05 22:42:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527280081 ms) 2026-01-05 22:42:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527280081 ms) 2026-01-05 22:42:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527280081 ms) 2026-01-05 22:42:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527281117 ms) 2026-01-05 22:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527281118 ms) 2026-01-05 22:42:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:42:40.713168+00:00', 'runtime': '527280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527281120 ms) 2026-01-05 22:42:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:41:40.710754+00:00', 'runtime': '527220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527281121 ms) 2026-01-05 22:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527300091 ms) 2026-01-05 22:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527300092 ms) 2026-01-05 22:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:42:40.710812+00:00'} (T+527300094 ms) 2026-01-05 22:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527340083 ms) 2026-01-05 22:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527340083 ms) 2026-01-05 22:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527340084 ms) 2026-01-05 22:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527340084 ms) 2026-01-05 22:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527341117 ms) 2026-01-05 22:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527341118 ms) 2026-01-05 22:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:43:40.710789+00:00', 'runtime': '527340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527341119 ms) 2026-01-05 22:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:42:40.713168+00:00', 'runtime': '527280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527341119 ms) 2026-01-05 22:44:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527360088 ms) 2026-01-05 22:44:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527360089 ms) 2026-01-05 22:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:43:40.710878+00:00'} (T+527360091 ms) 2026-01-05 22:44:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527400076 ms) 2026-01-05 22:44:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527400077 ms) 2026-01-05 22:44:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527400077 ms) 2026-01-05 22:44:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527400077 ms) 2026-01-05 22:44:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527401112 ms) 2026-01-05 22:44:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527401113 ms) 2026-01-05 22:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:44:40.710713+00:00', 'runtime': '527400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527401116 ms) 2026-01-05 22:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:43:40.710789+00:00', 'runtime': '527340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527401117 ms) 2026-01-05 22:45:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527420087 ms) 2026-01-05 22:45:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527420088 ms) 2026-01-05 22:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:44:40.713071+00:00'} (T+527420091 ms) 2026-01-05 22:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527460083 ms) 2026-01-05 22:45:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527460084 ms) 2026-01-05 22:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527460084 ms) 2026-01-05 22:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527460085 ms) 2026-01-05 22:45:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527461117 ms) 2026-01-05 22:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527461117 ms) 2026-01-05 22:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:45:40.710742+00:00', 'runtime': '527460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527461118 ms) 2026-01-05 22:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:44:40.710713+00:00', 'runtime': '527400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527461119 ms) 2026-01-05 22:46:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527480087 ms) 2026-01-05 22:46:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527480088 ms) 2026-01-05 22:46:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:45:40.710858+00:00'} (T+527480090 ms) 2026-01-05 22:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527520083 ms) 2026-01-05 22:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527520083 ms) 2026-01-05 22:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527520084 ms) 2026-01-05 22:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527520084 ms) 2026-01-05 22:46:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527521117 ms) 2026-01-05 22:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527521118 ms) 2026-01-05 22:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:46:40.710776+00:00', 'runtime': '527520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527521119 ms) 2026-01-05 22:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:45:40.710742+00:00', 'runtime': '527460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527521119 ms) 2026-01-05 22:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527540087 ms) 2026-01-05 22:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527540088 ms) 2026-01-05 22:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:46:40.710854+00:00'} (T+527540091 ms) 2026-01-05 22:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527580083 ms) 2026-01-05 22:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527580084 ms) 2026-01-05 22:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527580084 ms) 2026-01-05 22:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527580085 ms) 2026-01-05 22:47:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527581119 ms) 2026-01-05 22:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527581120 ms) 2026-01-05 22:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:47:40.710756+00:00', 'runtime': '527580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527581121 ms) 2026-01-05 22:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:46:40.710776+00:00', 'runtime': '527520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527581121 ms) 2026-01-05 22:48:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527600092 ms) 2026-01-05 22:48:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527600093 ms) 2026-01-05 22:48:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:47:40.713232+00:00'} (T+527600096 ms) 2026-01-05 22:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527640083 ms) 2026-01-05 22:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527640083 ms) 2026-01-05 22:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527640084 ms) 2026-01-05 22:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527640084 ms) 2026-01-05 22:48:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527641124 ms) 2026-01-05 22:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527641125 ms) 2026-01-05 22:48:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:48:40.710764+00:00', 'runtime': '527640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527641127 ms) 2026-01-05 22:48:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:47:40.710756+00:00', 'runtime': '527580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527641128 ms) 2026-01-05 22:49:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527660092 ms) 2026-01-05 22:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527660094 ms) 2026-01-05 22:49:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:48:40.713007+00:00'} (T+527660096 ms) 2026-01-05 22:49:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527700076 ms) 2026-01-05 22:49:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527700077 ms) 2026-01-05 22:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527700077 ms) 2026-01-05 22:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527700077 ms) 2026-01-05 22:49:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527701113 ms) 2026-01-05 22:49:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527701114 ms) 2026-01-05 22:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:49:40.710688+00:00', 'runtime': '527700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527701116 ms) 2026-01-05 22:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:48:40.710764+00:00', 'runtime': '527640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527701117 ms) 2026-01-05 22:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527720088 ms) 2026-01-05 22:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527720089 ms) 2026-01-05 22:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:49:40.710838+00:00'} (T+527720092 ms) 2026-01-05 22:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527760082 ms) 2026-01-05 22:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527760083 ms) 2026-01-05 22:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527760083 ms) 2026-01-05 22:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527760084 ms) 2026-01-05 22:50:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527761113 ms) 2026-01-05 22:50:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527761113 ms) 2026-01-05 22:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:50:40.710719+00:00', 'runtime': '527760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527761114 ms) 2026-01-05 22:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:49:40.710688+00:00', 'runtime': '527700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527761115 ms) 2026-01-05 22:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527780090 ms) 2026-01-05 22:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527780091 ms) 2026-01-05 22:51:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:50:40.710864+00:00'} (T+527780093 ms) 2026-01-05 22:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527820083 ms) 2026-01-05 22:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527820084 ms) 2026-01-05 22:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527820084 ms) 2026-01-05 22:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527820084 ms) 2026-01-05 22:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527821119 ms) 2026-01-05 22:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527821119 ms) 2026-01-05 22:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:51:40.710802+00:00', 'runtime': '527820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527821120 ms) 2026-01-05 22:51:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:50:40.710719+00:00', 'runtime': '527760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527821121 ms) 2026-01-05 22:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527840087 ms) 2026-01-05 22:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527840088 ms) 2026-01-05 22:52:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:51:40.710848+00:00'} (T+527840090 ms) 2026-01-05 22:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527880083 ms) 2026-01-05 22:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527880083 ms) 2026-01-05 22:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527880084 ms) 2026-01-05 22:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527880084 ms) 2026-01-05 22:52:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527881122 ms) 2026-01-05 22:52:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527881123 ms) 2026-01-05 22:52:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:52:40.710759+00:00', 'runtime': '527880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527881126 ms) 2026-01-05 22:52:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:51:40.710802+00:00', 'runtime': '527820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527881127 ms) 2026-01-05 22:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527900088 ms) 2026-01-05 22:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527900089 ms) 2026-01-05 22:53:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:52:40.713237+00:00'} (T+527900094 ms) 2026-01-05 22:53:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+527940083 ms) 2026-01-05 22:53:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+527940084 ms) 2026-01-05 22:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+527940084 ms) 2026-01-05 22:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+527940085 ms) 2026-01-05 22:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+527941118 ms) 2026-01-05 22:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+527941119 ms) 2026-01-05 22:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:53:40.710702+00:00', 'runtime': '527940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527941120 ms) 2026-01-05 22:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:52:40.710759+00:00', 'runtime': '527880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+527941120 ms) 2026-01-05 22:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527960087 ms) 2026-01-05 22:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+527960088 ms) 2026-01-05 22:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:53:40.710848+00:00'} (T+527960091 ms) 2026-01-05 22:54:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528000083 ms) 2026-01-05 22:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528000083 ms) 2026-01-05 22:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528000084 ms) 2026-01-05 22:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528000084 ms) 2026-01-05 22:54:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528001119 ms) 2026-01-05 22:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528001119 ms) 2026-01-05 22:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:54:40.710738+00:00', 'runtime': '528000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528001120 ms) 2026-01-05 22:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:53:40.710702+00:00', 'runtime': '527940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528001120 ms) 2026-01-05 22:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528020090 ms) 2026-01-05 22:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528020091 ms) 2026-01-05 22:55:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:54:40.710832+00:00'} (T+528020093 ms) 2026-01-05 22:55:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528060083 ms) 2026-01-05 22:55:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528060084 ms) 2026-01-05 22:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528060084 ms) 2026-01-05 22:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528060084 ms) 2026-01-05 22:55:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528061116 ms) 2026-01-05 22:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528061116 ms) 2026-01-05 22:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:55:40.710742+00:00', 'runtime': '528060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528061117 ms) 2026-01-05 22:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:54:40.710738+00:00', 'runtime': '528000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528061118 ms) 2026-01-05 22:56:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528080093 ms) 2026-01-05 22:56:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528080094 ms) 2026-01-05 22:56:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:55:40.713235+00:00'} (T+528080096 ms) 2026-01-05 22:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528120082 ms) 2026-01-05 22:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528120083 ms) 2026-01-05 22:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528120083 ms) 2026-01-05 22:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528120084 ms) 2026-01-05 22:56:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528121123 ms) 2026-01-05 22:56:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528121124 ms) 2026-01-05 22:56:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:56:40.710753+00:00', 'runtime': '528120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528121127 ms) 2026-01-05 22:56:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:55:40.710742+00:00', 'runtime': '528060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528121128 ms) 2026-01-05 22:57:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528140091 ms) 2026-01-05 22:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528140092 ms) 2026-01-05 22:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:56:40.713225+00:00'} (T+528140095 ms) 2026-01-05 22:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528180083 ms) 2026-01-05 22:57:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528180084 ms) 2026-01-05 22:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528180084 ms) 2026-01-05 22:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528180085 ms) 2026-01-05 22:57:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528181117 ms) 2026-01-05 22:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528181117 ms) 2026-01-05 22:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:57:40.710755+00:00', 'runtime': '528180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528181118 ms) 2026-01-05 22:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:56:40.710753+00:00', 'runtime': '528120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528181119 ms) 2026-01-05 22:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528200090 ms) 2026-01-05 22:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528200092 ms) 2026-01-05 22:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:57:40.710864+00:00'} (T+528200094 ms) 2026-01-05 22:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528240083 ms) 2026-01-05 22:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528240083 ms) 2026-01-05 22:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528240084 ms) 2026-01-05 22:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528240084 ms) 2026-01-05 22:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528241119 ms) 2026-01-05 22:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528241119 ms) 2026-01-05 22:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:58:40.710716+00:00', 'runtime': '528240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528241120 ms) 2026-01-05 22:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:57:40.710755+00:00', 'runtime': '528180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528241120 ms) 2026-01-05 22:59:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528260087 ms) 2026-01-05 22:59:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528260087 ms) 2026-01-05 22:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:58:40.710840+00:00'} (T+528260088 ms) 2026-01-05 22:59:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528300077 ms) 2026-01-05 22:59:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528300077 ms) 2026-01-05 22:59:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528300078 ms) 2026-01-05 22:59:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528300078 ms) 2026-01-05 22:59:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528301114 ms) 2026-01-05 22:59:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528301115 ms) 2026-01-05 22:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 22:59:40.710722+00:00', 'runtime': '528300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528301117 ms) 2026-01-05 22:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:58:40.710716+00:00', 'runtime': '528240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528301117 ms) 2026-01-05 23:00:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528320089 ms) 2026-01-05 23:00:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528320090 ms) 2026-01-05 23:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 22:59:40.710831+00:00'} (T+528320093 ms) 2026-01-05 23:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528360082 ms) 2026-01-05 23:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528360083 ms) 2026-01-05 23:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528360083 ms) 2026-01-05 23:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528360083 ms) 2026-01-05 23:00:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528361121 ms) 2026-01-05 23:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528361121 ms) 2026-01-05 23:00:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:00:40.710758+00:00', 'runtime': '528360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528361123 ms) 2026-01-05 23:00:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 22:59:40.710722+00:00', 'runtime': '528300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528361124 ms) 2026-01-05 23:01:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528380085 ms) 2026-01-05 23:01:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528380086 ms) 2026-01-05 23:01:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:00:40.710850+00:00'} (T+528380089 ms) 2026-01-05 23:01:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528420077 ms) 2026-01-05 23:01:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528420077 ms) 2026-01-05 23:01:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528420078 ms) 2026-01-05 23:01:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528420078 ms) 2026-01-05 23:01:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528421114 ms) 2026-01-05 23:01:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528421115 ms) 2026-01-05 23:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:01:40.710736+00:00', 'runtime': '528420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528421117 ms) 2026-01-05 23:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:00:40.710758+00:00', 'runtime': '528360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528421118 ms) 2026-01-05 23:02:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528440088 ms) 2026-01-05 23:02:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528440089 ms) 2026-01-05 23:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:01:40.710832+00:00'} (T+528440092 ms) 2026-01-05 23:02:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528480078 ms) 2026-01-05 23:02:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528480079 ms) 2026-01-05 23:02:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528480079 ms) 2026-01-05 23:02:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528480079 ms) 2026-01-05 23:02:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528481113 ms) 2026-01-05 23:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528481114 ms) 2026-01-05 23:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:02:40.710728+00:00', 'runtime': '528480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528481116 ms) 2026-01-05 23:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:01:40.710736+00:00', 'runtime': '528420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528481117 ms) 2026-01-05 23:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528500088 ms) 2026-01-05 23:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528500089 ms) 2026-01-05 23:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:02:40.710823+00:00'} (T+528500092 ms) 2026-01-05 23:03:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528540086 ms) 2026-01-05 23:03:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528540086 ms) 2026-01-05 23:03:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528540087 ms) 2026-01-05 23:03:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528540087 ms) 2026-01-05 23:03:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528541120 ms) 2026-01-05 23:03:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528541121 ms) 2026-01-05 23:03:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:03:40.713151+00:00', 'runtime': '528540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528541122 ms) 2026-01-05 23:03:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:02:40.710728+00:00', 'runtime': '528480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528541122 ms) 2026-01-05 23:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528560090 ms) 2026-01-05 23:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528560091 ms) 2026-01-05 23:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:03:40.710794+00:00'} (T+528560094 ms) 2026-01-05 23:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528600083 ms) 2026-01-05 23:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528600084 ms) 2026-01-05 23:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528600084 ms) 2026-01-05 23:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528600085 ms) 2026-01-05 23:04:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528601119 ms) 2026-01-05 23:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528601119 ms) 2026-01-05 23:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:04:40.710723+00:00', 'runtime': '528600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528601120 ms) 2026-01-05 23:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:03:40.713151+00:00', 'runtime': '528540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528601120 ms) 2026-01-05 23:05:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528620089 ms) 2026-01-05 23:05:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528620091 ms) 2026-01-05 23:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:04:40.710859+00:00'} (T+528620094 ms) 2026-01-05 23:05:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528660083 ms) 2026-01-05 23:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528660083 ms) 2026-01-05 23:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528660083 ms) 2026-01-05 23:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528660084 ms) 2026-01-05 23:05:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528661118 ms) 2026-01-05 23:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528661118 ms) 2026-01-05 23:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:05:40.710765+00:00', 'runtime': '528660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528661119 ms) 2026-01-05 23:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:04:40.710723+00:00', 'runtime': '528600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528661120 ms) 2026-01-05 23:06:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528680087 ms) 2026-01-05 23:06:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528680088 ms) 2026-01-05 23:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:05:40.710853+00:00'} (T+528680091 ms) 2026-01-05 23:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528720082 ms) 2026-01-05 23:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528720083 ms) 2026-01-05 23:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528720083 ms) 2026-01-05 23:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528720084 ms) 2026-01-05 23:06:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528721124 ms) 2026-01-05 23:06:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528721125 ms) 2026-01-05 23:06:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:06:40.710783+00:00', 'runtime': '528720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528721127 ms) 2026-01-05 23:06:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:05:40.710765+00:00', 'runtime': '528660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528721128 ms) 2026-01-05 23:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528740090 ms) 2026-01-05 23:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528740092 ms) 2026-01-05 23:07:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:06:40.710873+00:00'} (T+528740094 ms) 2026-01-05 23:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528780083 ms) 2026-01-05 23:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528780083 ms) 2026-01-05 23:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528780084 ms) 2026-01-05 23:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528780084 ms) 2026-01-05 23:07:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528781120 ms) 2026-01-05 23:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528781120 ms) 2026-01-05 23:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:07:40.710700+00:00', 'runtime': '528780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528781121 ms) 2026-01-05 23:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:06:40.710783+00:00', 'runtime': '528720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528781122 ms) 2026-01-05 23:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528800090 ms) 2026-01-05 23:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528800091 ms) 2026-01-05 23:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:07:40.710846+00:00'} (T+528800094 ms) 2026-01-05 23:08:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528840084 ms) 2026-01-05 23:08:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528840085 ms) 2026-01-05 23:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528840085 ms) 2026-01-05 23:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528840086 ms) 2026-01-05 23:08:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528841117 ms) 2026-01-05 23:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528841118 ms) 2026-01-05 23:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:08:40.713164+00:00', 'runtime': '528840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528841119 ms) 2026-01-05 23:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:07:40.710700+00:00', 'runtime': '528780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528841119 ms) 2026-01-05 23:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528860090 ms) 2026-01-05 23:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528860091 ms) 2026-01-05 23:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:08:40.710832+00:00'} (T+528860094 ms) 2026-01-05 23:09:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528900085 ms) 2026-01-05 23:09:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528900086 ms) 2026-01-05 23:09:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528900086 ms) 2026-01-05 23:09:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528900087 ms) 2026-01-05 23:09:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528901119 ms) 2026-01-05 23:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528901120 ms) 2026-01-05 23:09:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:09:40.713161+00:00', 'runtime': '528900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528901121 ms) 2026-01-05 23:09:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:08:40.713164+00:00', 'runtime': '528840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528901122 ms) 2026-01-05 23:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528920090 ms) 2026-01-05 23:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528920091 ms) 2026-01-05 23:10:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:09:40.710847+00:00'} (T+528920094 ms) 2026-01-05 23:10:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+528960076 ms) 2026-01-05 23:10:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+528960077 ms) 2026-01-05 23:10:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+528960077 ms) 2026-01-05 23:10:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+528960077 ms) 2026-01-05 23:10:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+528961114 ms) 2026-01-05 23:10:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+528961115 ms) 2026-01-05 23:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:10:40.710753+00:00', 'runtime': '528960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528961117 ms) 2026-01-05 23:10:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:09:40.713161+00:00', 'runtime': '528900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+528961118 ms) 2026-01-05 23:11:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528980088 ms) 2026-01-05 23:11:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+528980089 ms) 2026-01-05 23:11:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:10:40.710858+00:00'} (T+528980092 ms) 2026-01-05 23:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529020083 ms) 2026-01-05 23:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529020083 ms) 2026-01-05 23:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529020084 ms) 2026-01-05 23:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529020084 ms) 2026-01-05 23:11:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529021124 ms) 2026-01-05 23:11:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529021125 ms) 2026-01-05 23:11:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:11:40.710742+00:00', 'runtime': '529020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529021127 ms) 2026-01-05 23:11:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:10:40.710753+00:00', 'runtime': '528960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529021128 ms) 2026-01-05 23:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529040090 ms) 2026-01-05 23:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529040091 ms) 2026-01-05 23:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:11:40.710863+00:00'} (T+529040094 ms) 2026-01-05 23:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529080082 ms) 2026-01-05 23:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529080083 ms) 2026-01-05 23:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529080083 ms) 2026-01-05 23:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529080083 ms) 2026-01-05 23:12:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529081116 ms) 2026-01-05 23:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529081116 ms) 2026-01-05 23:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:12:40.710706+00:00', 'runtime': '529080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529081117 ms) 2026-01-05 23:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:11:40.710742+00:00', 'runtime': '529020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529081117 ms) 2026-01-05 23:13:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529100088 ms) 2026-01-05 23:13:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529100089 ms) 2026-01-05 23:13:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:12:40.710850+00:00'} (T+529100090 ms) 2026-01-05 23:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529140083 ms) 2026-01-05 23:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529140083 ms) 2026-01-05 23:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529140084 ms) 2026-01-05 23:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529140084 ms) 2026-01-05 23:13:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529141122 ms) 2026-01-05 23:13:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529141123 ms) 2026-01-05 23:13:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:13:40.710745+00:00', 'runtime': '529140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529141125 ms) 2026-01-05 23:13:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:12:40.710706+00:00', 'runtime': '529080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529141126 ms) 2026-01-05 23:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529160090 ms) 2026-01-05 23:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529160091 ms) 2026-01-05 23:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:13:40.710859+00:00'} (T+529160094 ms) 2026-01-05 23:14:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529200083 ms) 2026-01-05 23:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529200083 ms) 2026-01-05 23:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529200083 ms) 2026-01-05 23:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529200084 ms) 2026-01-05 23:14:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529201119 ms) 2026-01-05 23:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529201119 ms) 2026-01-05 23:14:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:14:40.710753+00:00', 'runtime': '529200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529201120 ms) 2026-01-05 23:14:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:13:40.710745+00:00', 'runtime': '529140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529201121 ms) 2026-01-05 23:15:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529220087 ms) 2026-01-05 23:15:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529220088 ms) 2026-01-05 23:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:14:40.710856+00:00'} (T+529220091 ms) 2026-01-05 23:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529260082 ms) 2026-01-05 23:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529260083 ms) 2026-01-05 23:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529260083 ms) 2026-01-05 23:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529260084 ms) 2026-01-05 23:15:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529261116 ms) 2026-01-05 23:15:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529261117 ms) 2026-01-05 23:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:15:40.710745+00:00', 'runtime': '529260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529261118 ms) 2026-01-05 23:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:14:40.710753+00:00', 'runtime': '529200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529261118 ms) 2026-01-05 23:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529280090 ms) 2026-01-05 23:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529280092 ms) 2026-01-05 23:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:15:40.710850+00:00'} (T+529280093 ms) 2026-01-05 23:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529320083 ms) 2026-01-05 23:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529320083 ms) 2026-01-05 23:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529320083 ms) 2026-01-05 23:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529320084 ms) 2026-01-05 23:16:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529321121 ms) 2026-01-05 23:16:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529321123 ms) 2026-01-05 23:16:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:16:40.710720+00:00', 'runtime': '529320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529321125 ms) 2026-01-05 23:16:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:15:40.710745+00:00', 'runtime': '529260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529321126 ms) 2026-01-05 23:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529340091 ms) 2026-01-05 23:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529340092 ms) 2026-01-05 23:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:16:40.710863+00:00'} (T+529340095 ms) 2026-01-05 23:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529380083 ms) 2026-01-05 23:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529380083 ms) 2026-01-05 23:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529380083 ms) 2026-01-05 23:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529380084 ms) 2026-01-05 23:17:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529381117 ms) 2026-01-05 23:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529381117 ms) 2026-01-05 23:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:17:40.710695+00:00', 'runtime': '529380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529381118 ms) 2026-01-05 23:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:16:40.710720+00:00', 'runtime': '529320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529381119 ms) 2026-01-05 23:18:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529400088 ms) 2026-01-05 23:18:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529400089 ms) 2026-01-05 23:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:17:40.710842+00:00'} (T+529400092 ms) 2026-01-05 23:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529440082 ms) 2026-01-05 23:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529440083 ms) 2026-01-05 23:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529440083 ms) 2026-01-05 23:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529440084 ms) 2026-01-05 23:18:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529441117 ms) 2026-01-05 23:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529441117 ms) 2026-01-05 23:18:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:18:40.710739+00:00', 'runtime': '529440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529441118 ms) 2026-01-05 23:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:17:40.710695+00:00', 'runtime': '529380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529441119 ms) 2026-01-05 23:19:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529460089 ms) 2026-01-05 23:19:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529460090 ms) 2026-01-05 23:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:18:40.710855+00:00'} (T+529460093 ms) 2026-01-05 23:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529500082 ms) 2026-01-05 23:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529500083 ms) 2026-01-05 23:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529500083 ms) 2026-01-05 23:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529500084 ms) 2026-01-05 23:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529501119 ms) 2026-01-05 23:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529501119 ms) 2026-01-05 23:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:19:40.710764+00:00', 'runtime': '529500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529501120 ms) 2026-01-05 23:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:18:40.710739+00:00', 'runtime': '529440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529501120 ms) 2026-01-05 23:20:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529520093 ms) 2026-01-05 23:20:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529520095 ms) 2026-01-05 23:20:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:19:40.713240+00:00'} (T+529520098 ms) 2026-01-05 23:20:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529560076 ms) 2026-01-05 23:20:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529560077 ms) 2026-01-05 23:20:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529560077 ms) 2026-01-05 23:20:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529560077 ms) 2026-01-05 23:20:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529561115 ms) 2026-01-05 23:20:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529561116 ms) 2026-01-05 23:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:20:40.710742+00:00', 'runtime': '529560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529561118 ms) 2026-01-05 23:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:19:40.710764+00:00', 'runtime': '529500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529561119 ms) 2026-01-05 23:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529580089 ms) 2026-01-05 23:21:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529580090 ms) 2026-01-05 23:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:20:40.710849+00:00'} (T+529580093 ms) 2026-01-05 23:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529620082 ms) 2026-01-05 23:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529620083 ms) 2026-01-05 23:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529620083 ms) 2026-01-05 23:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529620084 ms) 2026-01-05 23:21:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529621119 ms) 2026-01-05 23:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529621119 ms) 2026-01-05 23:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:21:40.710701+00:00', 'runtime': '529620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529621120 ms) 2026-01-05 23:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:20:40.710742+00:00', 'runtime': '529560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529621120 ms) 2026-01-05 23:22:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529640090 ms) 2026-01-05 23:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529640091 ms) 2026-01-05 23:22:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:21:40.710855+00:00'} (T+529640094 ms) 2026-01-05 23:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529680082 ms) 2026-01-05 23:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529680083 ms) 2026-01-05 23:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529680083 ms) 2026-01-05 23:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529680084 ms) 2026-01-05 23:22:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529681112 ms) 2026-01-05 23:22:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529681112 ms) 2026-01-05 23:22:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:22:40.710710+00:00', 'runtime': '529680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529681113 ms) 2026-01-05 23:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:21:40.710701+00:00', 'runtime': '529620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529681114 ms) 2026-01-05 23:23:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529700087 ms) 2026-01-05 23:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529700088 ms) 2026-01-05 23:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:22:40.710848+00:00'} (T+529700091 ms) 2026-01-05 23:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529740083 ms) 2026-01-05 23:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529740083 ms) 2026-01-05 23:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529740084 ms) 2026-01-05 23:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529740084 ms) 2026-01-05 23:23:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529741118 ms) 2026-01-05 23:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529741119 ms) 2026-01-05 23:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:23:40.710744+00:00', 'runtime': '529740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529741119 ms) 2026-01-05 23:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:22:40.710710+00:00', 'runtime': '529680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529741120 ms) 2026-01-05 23:24:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529760091 ms) 2026-01-05 23:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529760092 ms) 2026-01-05 23:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:23:40.710863+00:00'} (T+529760094 ms) 2026-01-05 23:24:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529800083 ms) 2026-01-05 23:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529800083 ms) 2026-01-05 23:24:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529800083 ms) 2026-01-05 23:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529800084 ms) 2026-01-05 23:24:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529801123 ms) 2026-01-05 23:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529801123 ms) 2026-01-05 23:24:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:24:40.710732+00:00', 'runtime': '529800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529801125 ms) 2026-01-05 23:24:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:23:40.710744+00:00', 'runtime': '529740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529801126 ms) 2026-01-05 23:25:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529820092 ms) 2026-01-05 23:25:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529820093 ms) 2026-01-05 23:25:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:24:40.713232+00:00'} (T+529820096 ms) 2026-01-05 23:25:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529860075 ms) 2026-01-05 23:25:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529860076 ms) 2026-01-05 23:25:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529860076 ms) 2026-01-05 23:25:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529860076 ms) 2026-01-05 23:25:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529861111 ms) 2026-01-05 23:25:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529861112 ms) 2026-01-05 23:25:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:25:40.710731+00:00', 'runtime': '529860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529861114 ms) 2026-01-05 23:25:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:24:40.710732+00:00', 'runtime': '529800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529861115 ms) 2026-01-05 23:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529880088 ms) 2026-01-05 23:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529880089 ms) 2026-01-05 23:26:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:25:40.710846+00:00'} (T+529880094 ms) 2026-01-05 23:26:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529920084 ms) 2026-01-05 23:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529920084 ms) 2026-01-05 23:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529920085 ms) 2026-01-05 23:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529920085 ms) 2026-01-05 23:26:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529921118 ms) 2026-01-05 23:26:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529921119 ms) 2026-01-05 23:26:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:26:40.710738+00:00', 'runtime': '529920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529921120 ms) 2026-01-05 23:26:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:25:40.710731+00:00', 'runtime': '529860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529921120 ms) 2026-01-05 23:27:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529940084 ms) 2026-01-05 23:27:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+529940085 ms) 2026-01-05 23:27:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:26:40.710823+00:00'} (T+529940088 ms) 2026-01-05 23:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+529980082 ms) 2026-01-05 23:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+529980083 ms) 2026-01-05 23:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+529980083 ms) 2026-01-05 23:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+529980084 ms) 2026-01-05 23:27:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+529981120 ms) 2026-01-05 23:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+529981120 ms) 2026-01-05 23:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:27:40.710752+00:00', 'runtime': '529980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529981121 ms) 2026-01-05 23:27:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:26:40.710738+00:00', 'runtime': '529920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+529981123 ms) 2026-01-05 23:28:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530000091 ms) 2026-01-05 23:28:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530000092 ms) 2026-01-05 23:28:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:27:40.710860+00:00'} (T+530000095 ms) 2026-01-05 23:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530040082 ms) 2026-01-05 23:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530040083 ms) 2026-01-05 23:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530040083 ms) 2026-01-05 23:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530040084 ms) 2026-01-05 23:28:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530041124 ms) 2026-01-05 23:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530041125 ms) 2026-01-05 23:28:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:28:40.710759+00:00', 'runtime': '530040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530041127 ms) 2026-01-05 23:28:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:27:40.710752+00:00', 'runtime': '529980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530041128 ms) 2026-01-05 23:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530060090 ms) 2026-01-05 23:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530060092 ms) 2026-01-05 23:29:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:28:40.710859+00:00'} (T+530060094 ms) 2026-01-05 23:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530100082 ms) 2026-01-05 23:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530100083 ms) 2026-01-05 23:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530100083 ms) 2026-01-05 23:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530100084 ms) 2026-01-05 23:29:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530101117 ms) 2026-01-05 23:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530101118 ms) 2026-01-05 23:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:29:40.710713+00:00', 'runtime': '530100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530101119 ms) 2026-01-05 23:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:28:40.710759+00:00', 'runtime': '530040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530101120 ms) 2026-01-05 23:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530120088 ms) 2026-01-05 23:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530120089 ms) 2026-01-05 23:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:29:40.710855+00:00'} (T+530120092 ms) 2026-01-05 23:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530160083 ms) 2026-01-05 23:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530160083 ms) 2026-01-05 23:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530160083 ms) 2026-01-05 23:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530160084 ms) 2026-01-05 23:30:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530161116 ms) 2026-01-05 23:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530161117 ms) 2026-01-05 23:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:30:40.710740+00:00', 'runtime': '530160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530161120 ms) 2026-01-05 23:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:29:40.710713+00:00', 'runtime': '530100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530161120 ms) 2026-01-05 23:31:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530180093 ms) 2026-01-05 23:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530180095 ms) 2026-01-05 23:31:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:30:40.713243+00:00'} (T+530180097 ms) 2026-01-05 23:31:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530220076 ms) 2026-01-05 23:31:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530220077 ms) 2026-01-05 23:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530220077 ms) 2026-01-05 23:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530220077 ms) 2026-01-05 23:31:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530221111 ms) 2026-01-05 23:31:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530221112 ms) 2026-01-05 23:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:31:40.710710+00:00', 'runtime': '530220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530221114 ms) 2026-01-05 23:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:30:40.710740+00:00', 'runtime': '530160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530221115 ms) 2026-01-05 23:32:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530240088 ms) 2026-01-05 23:32:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530240089 ms) 2026-01-05 23:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:31:40.710827+00:00'} (T+530240092 ms) 2026-01-05 23:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530280083 ms) 2026-01-05 23:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530280083 ms) 2026-01-05 23:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530280084 ms) 2026-01-05 23:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530280084 ms) 2026-01-05 23:32:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530281119 ms) 2026-01-05 23:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530281119 ms) 2026-01-05 23:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:32:40.710757+00:00', 'runtime': '530280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530281120 ms) 2026-01-05 23:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:31:40.710710+00:00', 'runtime': '530220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530281121 ms) 2026-01-05 23:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530300090 ms) 2026-01-05 23:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530300091 ms) 2026-01-05 23:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:32:40.710860+00:00'} (T+530300094 ms) 2026-01-05 23:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530340083 ms) 2026-01-05 23:33:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530340084 ms) 2026-01-05 23:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530340084 ms) 2026-01-05 23:33:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530340085 ms) 2026-01-05 23:33:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530341122 ms) 2026-01-05 23:33:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530341124 ms) 2026-01-05 23:33:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:33:40.710774+00:00', 'runtime': '530340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530341126 ms) 2026-01-05 23:33:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:32:40.710757+00:00', 'runtime': '530280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530341127 ms) 2026-01-05 23:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530360087 ms) 2026-01-05 23:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530360088 ms) 2026-01-05 23:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:33:40.710861+00:00'} (T+530360091 ms) 2026-01-05 23:34:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530400077 ms) 2026-01-05 23:34:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530400078 ms) 2026-01-05 23:34:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530400078 ms) 2026-01-05 23:34:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530400078 ms) 2026-01-05 23:34:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530401113 ms) 2026-01-05 23:34:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530401114 ms) 2026-01-05 23:34:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:34:40.710711+00:00', 'runtime': '530400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530401116 ms) 2026-01-05 23:34:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:33:40.710774+00:00', 'runtime': '530340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530401117 ms) 2026-01-05 23:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530420089 ms) 2026-01-05 23:35:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530420090 ms) 2026-01-05 23:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:34:40.710866+00:00'} (T+530420093 ms) 2026-01-05 23:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530460082 ms) 2026-01-05 23:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530460083 ms) 2026-01-05 23:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530460083 ms) 2026-01-05 23:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530460084 ms) 2026-01-05 23:35:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530461119 ms) 2026-01-05 23:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530461119 ms) 2026-01-05 23:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:35:40.710711+00:00', 'runtime': '530460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530461120 ms) 2026-01-05 23:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:34:40.710711+00:00', 'runtime': '530400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530461120 ms) 2026-01-05 23:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530480088 ms) 2026-01-05 23:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530480089 ms) 2026-01-05 23:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:35:40.710860+00:00'} (T+530480092 ms) 2026-01-05 23:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530520082 ms) 2026-01-05 23:36:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530520083 ms) 2026-01-05 23:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530520083 ms) 2026-01-05 23:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530520083 ms) 2026-01-05 23:36:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530521123 ms) 2026-01-05 23:36:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530521124 ms) 2026-01-05 23:36:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:36:40.710783+00:00', 'runtime': '530520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530521127 ms) 2026-01-05 23:36:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:35:40.710711+00:00', 'runtime': '530460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530521127 ms) 2026-01-05 23:37:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530540089 ms) 2026-01-05 23:37:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530540091 ms) 2026-01-05 23:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:36:40.710780+00:00'} (T+530540093 ms) 2026-01-05 23:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530580083 ms) 2026-01-05 23:37:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530580084 ms) 2026-01-05 23:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530580084 ms) 2026-01-05 23:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530580085 ms) 2026-01-05 23:37:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530581122 ms) 2026-01-05 23:37:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530581123 ms) 2026-01-05 23:37:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:37:40.710739+00:00', 'runtime': '530580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530581125 ms) 2026-01-05 23:37:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:36:40.710783+00:00', 'runtime': '530520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530581126 ms) 2026-01-05 23:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530600087 ms) 2026-01-05 23:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530600088 ms) 2026-01-05 23:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:37:40.710849+00:00'} (T+530600091 ms) 2026-01-05 23:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530640082 ms) 2026-01-05 23:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530640083 ms) 2026-01-05 23:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530640083 ms) 2026-01-05 23:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530640084 ms) 2026-01-05 23:38:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530641113 ms) 2026-01-05 23:38:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530641114 ms) 2026-01-05 23:38:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:38:40.710720+00:00', 'runtime': '530640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530641115 ms) 2026-01-05 23:38:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:37:40.710739+00:00', 'runtime': '530580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530641115 ms) 2026-01-05 23:39:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530660087 ms) 2026-01-05 23:39:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530660088 ms) 2026-01-05 23:39:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:38:40.710849+00:00'} (T+530660090 ms) 2026-01-05 23:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530700083 ms) 2026-01-05 23:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530700084 ms) 2026-01-05 23:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530700084 ms) 2026-01-05 23:39:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530700085 ms) 2026-01-05 23:39:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530701117 ms) 2026-01-05 23:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530701117 ms) 2026-01-05 23:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:39:40.710738+00:00', 'runtime': '530700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530701118 ms) 2026-01-05 23:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:38:40.710720+00:00', 'runtime': '530640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530701119 ms) 2026-01-05 23:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530720090 ms) 2026-01-05 23:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530720091 ms) 2026-01-05 23:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:39:40.710856+00:00'} (T+530720093 ms) 2026-01-05 23:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530760083 ms) 2026-01-05 23:40:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530760084 ms) 2026-01-05 23:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530760084 ms) 2026-01-05 23:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530760085 ms) 2026-01-05 23:40:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530761117 ms) 2026-01-05 23:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530761118 ms) 2026-01-05 23:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:40:40.710730+00:00', 'runtime': '530760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530761119 ms) 2026-01-05 23:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:39:40.710738+00:00', 'runtime': '530700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530761119 ms) 2026-01-05 23:41:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530780093 ms) 2026-01-05 23:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530780094 ms) 2026-01-05 23:41:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:40:40.713227+00:00'} (T+530780097 ms) 2026-01-05 23:41:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530820084 ms) 2026-01-05 23:41:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530820085 ms) 2026-01-05 23:41:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530820085 ms) 2026-01-05 23:41:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530820085 ms) 2026-01-05 23:41:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530821117 ms) 2026-01-05 23:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530821118 ms) 2026-01-05 23:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:41:40.713159+00:00', 'runtime': '530820.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530821119 ms) 2026-01-05 23:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:40:40.710730+00:00', 'runtime': '530760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530821119 ms) 2026-01-05 23:42:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530840087 ms) 2026-01-05 23:42:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530840088 ms) 2026-01-05 23:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:41:40.710838+00:00'} (T+530840091 ms) 2026-01-05 23:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530880083 ms) 2026-01-05 23:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530880083 ms) 2026-01-05 23:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530880084 ms) 2026-01-05 23:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530880084 ms) 2026-01-05 23:42:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530881121 ms) 2026-01-05 23:42:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530881122 ms) 2026-01-05 23:42:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:42:40.710765+00:00', 'runtime': '530880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530881124 ms) 2026-01-05 23:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:41:40.713159+00:00', 'runtime': '530820.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530881125 ms) 2026-01-05 23:43:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530900091 ms) 2026-01-05 23:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530900092 ms) 2026-01-05 23:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:42:40.713247+00:00'} (T+530900094 ms) 2026-01-05 23:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+530940083 ms) 2026-01-05 23:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+530940084 ms) 2026-01-05 23:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+530940084 ms) 2026-01-05 23:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+530940084 ms) 2026-01-05 23:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+530941117 ms) 2026-01-05 23:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+530941117 ms) 2026-01-05 23:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:43:40.710725+00:00', 'runtime': '530940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530941118 ms) 2026-01-05 23:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:42:40.710765+00:00', 'runtime': '530880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+530941119 ms) 2026-01-05 23:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530960090 ms) 2026-01-05 23:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+530960091 ms) 2026-01-05 23:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:43:40.710860+00:00'} (T+530960094 ms) 2026-01-05 23:44:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531000084 ms) 2026-01-05 23:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531000084 ms) 2026-01-05 23:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531000085 ms) 2026-01-05 23:44:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531000085 ms) 2026-01-05 23:44:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531001117 ms) 2026-01-05 23:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531001118 ms) 2026-01-05 23:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:44:40.710760+00:00', 'runtime': '531000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531001119 ms) 2026-01-05 23:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:43:40.710725+00:00', 'runtime': '530940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531001119 ms) 2026-01-05 23:45:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531020087 ms) 2026-01-05 23:45:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531020088 ms) 2026-01-05 23:45:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:44:40.710855+00:00'} (T+531020090 ms) 2026-01-05 23:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531060083 ms) 2026-01-05 23:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531060084 ms) 2026-01-05 23:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531060084 ms) 2026-01-05 23:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531060084 ms) 2026-01-05 23:45:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531061123 ms) 2026-01-05 23:45:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531061124 ms) 2026-01-05 23:45:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:45:40.710753+00:00', 'runtime': '531060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531061126 ms) 2026-01-05 23:45:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:44:40.710760+00:00', 'runtime': '531000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531061127 ms) 2026-01-05 23:46:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531080091 ms) 2026-01-05 23:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531080092 ms) 2026-01-05 23:46:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:45:40.710850+00:00'} (T+531080095 ms) 2026-01-05 23:46:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531120077 ms) 2026-01-05 23:46:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531120078 ms) 2026-01-05 23:46:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531120078 ms) 2026-01-05 23:46:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531120078 ms) 2026-01-05 23:46:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531121114 ms) 2026-01-05 23:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531121115 ms) 2026-01-05 23:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:46:40.710731+00:00', 'runtime': '531120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531121117 ms) 2026-01-05 23:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:45:40.710753+00:00', 'runtime': '531060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531121118 ms) 2026-01-05 23:47:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531140089 ms) 2026-01-05 23:47:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531140090 ms) 2026-01-05 23:47:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:46:40.710861+00:00'} (T+531140093 ms) 2026-01-05 23:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531180082 ms) 2026-01-05 23:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531180083 ms) 2026-01-05 23:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531180083 ms) 2026-01-05 23:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531180084 ms) 2026-01-05 23:47:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531181115 ms) 2026-01-05 23:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531181116 ms) 2026-01-05 23:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:47:40.710749+00:00', 'runtime': '531180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531181117 ms) 2026-01-05 23:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:46:40.710731+00:00', 'runtime': '531120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531181117 ms) 2026-01-05 23:48:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531200090 ms) 2026-01-05 23:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531200091 ms) 2026-01-05 23:48:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:47:40.710859+00:00'} (T+531200097 ms) 2026-01-05 23:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531240083 ms) 2026-01-05 23:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531240083 ms) 2026-01-05 23:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531240084 ms) 2026-01-05 23:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531240084 ms) 2026-01-05 23:48:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531241123 ms) 2026-01-05 23:48:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531241124 ms) 2026-01-05 23:48:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:48:40.710719+00:00', 'runtime': '531240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531241127 ms) 2026-01-05 23:48:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:47:40.710749+00:00', 'runtime': '531180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531241128 ms) 2026-01-05 23:49:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531260089 ms) 2026-01-05 23:49:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531260091 ms) 2026-01-05 23:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:48:40.710847+00:00'} (T+531260093 ms) 2026-01-05 23:49:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531300077 ms) 2026-01-05 23:49:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531300078 ms) 2026-01-05 23:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531300078 ms) 2026-01-05 23:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531300078 ms) 2026-01-05 23:49:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531301114 ms) 2026-01-05 23:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531301115 ms) 2026-01-05 23:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:49:40.710688+00:00', 'runtime': '531300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531301117 ms) 2026-01-05 23:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:48:40.710719+00:00', 'runtime': '531240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531301118 ms) 2026-01-05 23:50:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531320086 ms) 2026-01-05 23:50:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531320087 ms) 2026-01-05 23:50:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:49:40.713214+00:00'} (T+531320090 ms) 2026-01-05 23:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531360083 ms) 2026-01-05 23:50:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531360084 ms) 2026-01-05 23:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531360084 ms) 2026-01-05 23:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531360085 ms) 2026-01-05 23:50:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531361117 ms) 2026-01-05 23:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531361118 ms) 2026-01-05 23:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:50:40.710735+00:00', 'runtime': '531360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531361119 ms) 2026-01-05 23:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:49:40.710688+00:00', 'runtime': '531300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531361119 ms) 2026-01-05 23:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531380090 ms) 2026-01-05 23:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531380091 ms) 2026-01-05 23:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:50:40.710857+00:00'} (T+531380094 ms) 2026-01-05 23:51:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531420084 ms) 2026-01-05 23:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531420084 ms) 2026-01-05 23:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531420085 ms) 2026-01-05 23:51:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531420085 ms) 2026-01-05 23:51:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531421116 ms) 2026-01-05 23:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531421116 ms) 2026-01-05 23:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:51:40.710748+00:00', 'runtime': '531420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531421117 ms) 2026-01-05 23:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:50:40.710735+00:00', 'runtime': '531360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531421117 ms) 2026-01-05 23:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531440090 ms) 2026-01-05 23:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531440091 ms) 2026-01-05 23:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:51:40.710851+00:00'} (T+531440094 ms) 2026-01-05 23:52:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531480078 ms) 2026-01-05 23:52:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531480078 ms) 2026-01-05 23:52:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531480079 ms) 2026-01-05 23:52:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531480079 ms) 2026-01-05 23:52:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531481113 ms) 2026-01-05 23:52:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531481114 ms) 2026-01-05 23:52:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:52:40.713174+00:00', 'runtime': '531480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531481116 ms) 2026-01-05 23:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:51:40.710748+00:00', 'runtime': '531420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531481117 ms) 2026-01-05 23:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531500088 ms) 2026-01-05 23:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531500089 ms) 2026-01-05 23:53:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:52:40.710823+00:00'} (T+531500092 ms) 2026-01-05 23:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531540082 ms) 2026-01-05 23:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531540083 ms) 2026-01-05 23:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531540083 ms) 2026-01-05 23:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531540084 ms) 2026-01-05 23:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531541118 ms) 2026-01-05 23:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531541119 ms) 2026-01-05 23:53:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:53:40.710725+00:00', 'runtime': '531540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531541121 ms) 2026-01-05 23:53:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:52:40.713174+00:00', 'runtime': '531480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531541122 ms) 2026-01-05 23:54:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531560090 ms) 2026-01-05 23:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531560091 ms) 2026-01-05 23:54:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:53:40.710855+00:00'} (T+531560094 ms) 2026-01-05 23:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531600082 ms) 2026-01-05 23:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531600083 ms) 2026-01-05 23:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531600083 ms) 2026-01-05 23:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531600084 ms) 2026-01-05 23:54:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531601120 ms) 2026-01-05 23:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531601120 ms) 2026-01-05 23:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:54:40.710711+00:00', 'runtime': '531600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531601121 ms) 2026-01-05 23:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:53:40.710725+00:00', 'runtime': '531540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531601121 ms) 2026-01-05 23:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531620090 ms) 2026-01-05 23:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531620091 ms) 2026-01-05 23:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:54:40.710837+00:00'} (T+531620094 ms) 2026-01-05 23:55:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531660083 ms) 2026-01-05 23:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531660083 ms) 2026-01-05 23:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531660084 ms) 2026-01-05 23:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531660084 ms) 2026-01-05 23:55:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531661121 ms) 2026-01-05 23:55:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531661122 ms) 2026-01-05 23:55:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:55:40.710758+00:00', 'runtime': '531660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531661124 ms) 2026-01-05 23:55:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:54:40.710711+00:00', 'runtime': '531600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531661125 ms) 2026-01-05 23:56:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531680094 ms) 2026-01-05 23:56:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531680095 ms) 2026-01-05 23:56:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:55:40.713229+00:00'} (T+531680098 ms) 2026-01-05 23:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531720083 ms) 2026-01-05 23:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531720084 ms) 2026-01-05 23:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531720084 ms) 2026-01-05 23:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531720084 ms) 2026-01-05 23:56:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531721122 ms) 2026-01-05 23:56:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531721123 ms) 2026-01-05 23:56:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:56:40.710773+00:00', 'runtime': '531720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531721125 ms) 2026-01-05 23:56:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:55:40.710758+00:00', 'runtime': '531660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531721126 ms) 2026-01-05 23:57:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531740092 ms) 2026-01-05 23:57:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531740093 ms) 2026-01-05 23:57:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:56:40.713230+00:00'} (T+531740096 ms) 2026-01-05 23:57:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531780077 ms) 2026-01-05 23:57:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531780077 ms) 2026-01-05 23:57:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531780078 ms) 2026-01-05 23:57:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531780078 ms) 2026-01-05 23:57:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531781115 ms) 2026-01-05 23:57:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531781115 ms) 2026-01-05 23:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:57:40.710729+00:00', 'runtime': '531780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531781117 ms) 2026-01-05 23:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:56:40.710773+00:00', 'runtime': '531720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531781118 ms) 2026-01-05 23:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531800090 ms) 2026-01-05 23:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531800091 ms) 2026-01-05 23:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:57:40.710841+00:00'} (T+531800094 ms) 2026-01-05 23:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531840084 ms) 2026-01-05 23:58:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531840084 ms) 2026-01-05 23:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531840084 ms) 2026-01-05 23:58:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531840085 ms) 2026-01-05 23:58:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531841122 ms) 2026-01-05 23:58:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531841123 ms) 2026-01-05 23:58:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:58:40.710752+00:00', 'runtime': '531840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531841125 ms) 2026-01-05 23:58:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:57:40.710729+00:00', 'runtime': '531780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531841126 ms) 2026-01-05 23:59:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531860088 ms) 2026-01-05 23:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531860089 ms) 2026-01-05 23:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:58:40.710842+00:00'} (T+531860092 ms) 2026-01-05 23:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531900083 ms) 2026-01-05 23:59:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531900084 ms) 2026-01-05 23:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531900084 ms) 2026-01-05 23:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531900085 ms) 2026-01-05 23:59:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531901117 ms) 2026-01-05 23:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531901118 ms) 2026-01-05 23:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-05 23:59:40.710710+00:00', 'runtime': '531900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531901119 ms) 2026-01-05 23:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:58:40.710752+00:00', 'runtime': '531840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531901119 ms) 2026-01-06 00:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531920088 ms) 2026-01-06 00:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531920089 ms) 2026-01-06 00:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-05 23:59:40.710850+00:00'} (T+531920093 ms) 2026-01-06 00:00:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+531960080 ms) 2026-01-06 00:00:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+531960080 ms) 2026-01-06 00:00:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+531960080 ms) 2026-01-06 00:00:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+531960081 ms) 2026-01-06 00:00:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+531961117 ms) 2026-01-06 00:00:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+531961117 ms) 2026-01-06 00:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:00:40.713187+00:00', 'runtime': '531960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531961119 ms) 2026-01-06 00:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-05 23:59:40.710710+00:00', 'runtime': '531900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+531961120 ms) 2026-01-06 00:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531980087 ms) 2026-01-06 00:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+531980088 ms) 2026-01-06 00:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:00:40.710830+00:00'} (T+531980091 ms) 2026-01-06 00:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532020083 ms) 2026-01-06 00:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532020083 ms) 2026-01-06 00:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532020084 ms) 2026-01-06 00:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532020084 ms) 2026-01-06 00:01:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532021123 ms) 2026-01-06 00:01:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532021124 ms) 2026-01-06 00:01:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:01:40.710813+00:00', 'runtime': '532020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532021126 ms) 2026-01-06 00:01:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:00:40.713187+00:00', 'runtime': '531960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532021127 ms) 2026-01-06 00:02:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532040085 ms) 2026-01-06 00:02:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532040086 ms) 2026-01-06 00:02:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:01:40.710874+00:00'} (T+532040089 ms) 2026-01-06 00:02:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532080054 ms) 2026-01-06 00:02:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532080054 ms) 2026-01-06 00:02:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532080054 ms) 2026-01-06 00:02:40.734 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532080055 ms) 2026-01-06 00:02:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532081080 ms) 2026-01-06 00:02:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532081080 ms) 2026-01-06 00:02:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:02:40.710502+00:00', 'runtime': '532080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532081082 ms) 2026-01-06 00:02:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:01:40.710813+00:00', 'runtime': '532020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532081082 ms) 2026-01-06 00:03:00.754 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532100075 ms) 2026-01-06 00:03:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532100076 ms) 2026-01-06 00:03:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:02:40.712972+00:00'} (T+532100078 ms) 2026-01-06 00:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532140083 ms) 2026-01-06 00:03:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532140084 ms) 2026-01-06 00:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532140084 ms) 2026-01-06 00:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532140085 ms) 2026-01-06 00:03:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532141118 ms) 2026-01-06 00:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532141118 ms) 2026-01-06 00:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:03:40.710776+00:00', 'runtime': '532140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532141119 ms) 2026-01-06 00:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:02:40.710502+00:00', 'runtime': '532080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532141120 ms) 2026-01-06 00:04:00.761 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532160082 ms) 2026-01-06 00:04:00.762 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532160083 ms) 2026-01-06 00:04:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:03:40.710847+00:00'} (T+532160087 ms) 2026-01-06 00:04:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532200082 ms) 2026-01-06 00:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532200083 ms) 2026-01-06 00:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532200083 ms) 2026-01-06 00:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532200084 ms) 2026-01-06 00:04:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532201119 ms) 2026-01-06 00:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532201119 ms) 2026-01-06 00:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:04:40.710760+00:00', 'runtime': '532200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532201120 ms) 2026-01-06 00:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:03:40.710776+00:00', 'runtime': '532140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532201121 ms) 2026-01-06 00:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532220091 ms) 2026-01-06 00:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532220092 ms) 2026-01-06 00:05:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:04:40.710855+00:00'} (T+532220095 ms) 2026-01-06 00:05:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532260085 ms) 2026-01-06 00:05:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532260085 ms) 2026-01-06 00:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532260085 ms) 2026-01-06 00:05:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532260086 ms) 2026-01-06 00:05:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532261121 ms) 2026-01-06 00:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532261121 ms) 2026-01-06 00:05:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:05:40.713172+00:00', 'runtime': '532260.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532261123 ms) 2026-01-06 00:05:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:04:40.710760+00:00', 'runtime': '532200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532261123 ms) 2026-01-06 00:06:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532280089 ms) 2026-01-06 00:06:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532280090 ms) 2026-01-06 00:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:05:40.710808+00:00'} (T+532280093 ms) 2026-01-06 00:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532320083 ms) 2026-01-06 00:06:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532320084 ms) 2026-01-06 00:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532320084 ms) 2026-01-06 00:06:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532320085 ms) 2026-01-06 00:06:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532321117 ms) 2026-01-06 00:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532321117 ms) 2026-01-06 00:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:06:40.710767+00:00', 'runtime': '532320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532321118 ms) 2026-01-06 00:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:05:40.713172+00:00', 'runtime': '532260.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532321119 ms) 2026-01-06 00:07:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532340092 ms) 2026-01-06 00:07:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532340093 ms) 2026-01-06 00:07:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:06:40.713236+00:00'} (T+532340096 ms) 2026-01-06 00:07:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532380054 ms) 2026-01-06 00:07:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532380054 ms) 2026-01-06 00:07:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532380054 ms) 2026-01-06 00:07:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532380054 ms) 2026-01-06 00:07:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532381082 ms) 2026-01-06 00:07:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532381082 ms) 2026-01-06 00:07:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:07:40.710539+00:00', 'runtime': '532380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532381083 ms) 2026-01-06 00:07:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:06:40.710767+00:00', 'runtime': '532320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532381084 ms) 2026-01-06 00:08:00.746 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532400067 ms) 2026-01-06 00:08:00.747 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532400068 ms) 2026-01-06 00:08:00.749 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:07:40.710593+00:00'} (T+532400070 ms) 2026-01-06 00:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532440083 ms) 2026-01-06 00:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532440083 ms) 2026-01-06 00:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532440083 ms) 2026-01-06 00:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532440084 ms) 2026-01-06 00:08:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532441119 ms) 2026-01-06 00:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532441119 ms) 2026-01-06 00:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:08:40.710782+00:00', 'runtime': '532440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532441120 ms) 2026-01-06 00:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:07:40.710539+00:00', 'runtime': '532380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532441121 ms) 2026-01-06 00:09:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532460088 ms) 2026-01-06 00:09:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532460089 ms) 2026-01-06 00:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:08:40.710865+00:00'} (T+532460092 ms) 2026-01-06 00:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532500083 ms) 2026-01-06 00:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532500083 ms) 2026-01-06 00:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532500084 ms) 2026-01-06 00:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532500084 ms) 2026-01-06 00:09:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532501119 ms) 2026-01-06 00:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532501119 ms) 2026-01-06 00:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:09:40.710758+00:00', 'runtime': '532500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532501120 ms) 2026-01-06 00:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:08:40.710782+00:00', 'runtime': '532440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532501120 ms) 2026-01-06 00:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532520087 ms) 2026-01-06 00:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532520088 ms) 2026-01-06 00:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:09:40.710847+00:00'} (T+532520091 ms) 2026-01-06 00:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532560083 ms) 2026-01-06 00:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532560083 ms) 2026-01-06 00:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532560084 ms) 2026-01-06 00:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532560084 ms) 2026-01-06 00:10:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532561121 ms) 2026-01-06 00:10:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532561122 ms) 2026-01-06 00:10:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:10:40.710763+00:00', 'runtime': '532560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532561124 ms) 2026-01-06 00:10:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:09:40.710758+00:00', 'runtime': '532500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532561125 ms) 2026-01-06 00:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532580087 ms) 2026-01-06 00:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532580088 ms) 2026-01-06 00:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:10:40.710847+00:00'} (T+532580091 ms) 2026-01-06 00:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532620083 ms) 2026-01-06 00:11:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532620084 ms) 2026-01-06 00:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532620084 ms) 2026-01-06 00:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532620084 ms) 2026-01-06 00:11:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532621116 ms) 2026-01-06 00:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532621116 ms) 2026-01-06 00:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:11:40.710716+00:00', 'runtime': '532620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532621117 ms) 2026-01-06 00:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:10:40.710763+00:00', 'runtime': '532560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532621117 ms) 2026-01-06 00:12:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532640091 ms) 2026-01-06 00:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532640092 ms) 2026-01-06 00:12:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:11:40.713239+00:00'} (T+532640095 ms) 2026-01-06 00:12:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532680077 ms) 2026-01-06 00:12:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532680077 ms) 2026-01-06 00:12:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532680077 ms) 2026-01-06 00:12:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532680078 ms) 2026-01-06 00:12:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532681112 ms) 2026-01-06 00:12:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532681113 ms) 2026-01-06 00:12:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:12:40.710741+00:00', 'runtime': '532680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532681115 ms) 2026-01-06 00:12:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:11:40.710716+00:00', 'runtime': '532620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532681115 ms) 2026-01-06 00:13:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532700091 ms) 2026-01-06 00:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532700092 ms) 2026-01-06 00:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:12:40.710844+00:00'} (T+532700094 ms) 2026-01-06 00:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532740082 ms) 2026-01-06 00:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532740083 ms) 2026-01-06 00:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532740083 ms) 2026-01-06 00:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532740083 ms) 2026-01-06 00:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532741116 ms) 2026-01-06 00:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532741116 ms) 2026-01-06 00:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:13:40.710721+00:00', 'runtime': '532740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532741117 ms) 2026-01-06 00:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:12:40.710741+00:00', 'runtime': '532680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532741118 ms) 2026-01-06 00:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532760090 ms) 2026-01-06 00:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532760091 ms) 2026-01-06 00:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:13:40.710820+00:00'} (T+532760094 ms) 2026-01-06 00:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532800083 ms) 2026-01-06 00:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532800084 ms) 2026-01-06 00:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532800084 ms) 2026-01-06 00:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532800084 ms) 2026-01-06 00:14:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532801124 ms) 2026-01-06 00:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532801125 ms) 2026-01-06 00:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:14:40.710784+00:00', 'runtime': '532800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532801127 ms) 2026-01-06 00:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:13:40.710721+00:00', 'runtime': '532740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532801128 ms) 2026-01-06 00:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532820090 ms) 2026-01-06 00:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532820092 ms) 2026-01-06 00:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:14:40.710881+00:00'} (T+532820095 ms) 2026-01-06 00:15:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532860076 ms) 2026-01-06 00:15:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532860076 ms) 2026-01-06 00:15:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532860077 ms) 2026-01-06 00:15:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532860077 ms) 2026-01-06 00:15:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532861111 ms) 2026-01-06 00:15:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532861112 ms) 2026-01-06 00:15:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:15:40.710722+00:00', 'runtime': '532860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532861113 ms) 2026-01-06 00:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:14:40.710784+00:00', 'runtime': '532800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532861114 ms) 2026-01-06 00:16:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532880088 ms) 2026-01-06 00:16:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532880089 ms) 2026-01-06 00:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:15:40.710834+00:00'} (T+532880092 ms) 2026-01-06 00:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532920082 ms) 2026-01-06 00:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532920083 ms) 2026-01-06 00:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532920083 ms) 2026-01-06 00:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532920084 ms) 2026-01-06 00:16:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532921124 ms) 2026-01-06 00:16:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532921125 ms) 2026-01-06 00:16:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:16:40.710769+00:00', 'runtime': '532920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532921127 ms) 2026-01-06 00:16:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:15:40.710722+00:00', 'runtime': '532860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532921128 ms) 2026-01-06 00:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532940090 ms) 2026-01-06 00:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+532940091 ms) 2026-01-06 00:17:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:16:40.710861+00:00'} (T+532940097 ms) 2026-01-06 00:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+532980084 ms) 2026-01-06 00:17:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+532980084 ms) 2026-01-06 00:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+532980084 ms) 2026-01-06 00:17:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+532980085 ms) 2026-01-06 00:17:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+532981120 ms) 2026-01-06 00:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+532981121 ms) 2026-01-06 00:17:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:17:40.710730+00:00', 'runtime': '532980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532981122 ms) 2026-01-06 00:17:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:16:40.710769+00:00', 'runtime': '532920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+532981123 ms) 2026-01-06 00:18:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533000092 ms) 2026-01-06 00:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533000094 ms) 2026-01-06 00:18:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:17:40.713237+00:00'} (T+533000097 ms) 2026-01-06 00:18:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533040078 ms) 2026-01-06 00:18:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533040079 ms) 2026-01-06 00:18:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533040079 ms) 2026-01-06 00:18:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533040079 ms) 2026-01-06 00:18:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533041115 ms) 2026-01-06 00:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533041117 ms) 2026-01-06 00:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:18:40.710713+00:00', 'runtime': '533040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533041119 ms) 2026-01-06 00:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:17:40.710730+00:00', 'runtime': '532980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533041120 ms) 2026-01-06 00:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533060090 ms) 2026-01-06 00:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533060091 ms) 2026-01-06 00:19:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:18:40.713229+00:00'} (T+533060097 ms) 2026-01-06 00:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533100082 ms) 2026-01-06 00:19:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533100083 ms) 2026-01-06 00:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533100083 ms) 2026-01-06 00:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533100083 ms) 2026-01-06 00:19:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533101116 ms) 2026-01-06 00:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533101116 ms) 2026-01-06 00:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:19:40.710720+00:00', 'runtime': '533100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533101118 ms) 2026-01-06 00:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:18:40.710713+00:00', 'runtime': '533040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533101118 ms) 2026-01-06 00:20:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533120091 ms) 2026-01-06 00:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533120092 ms) 2026-01-06 00:20:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:19:40.710856+00:00'} (T+533120095 ms) 2026-01-06 00:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533160083 ms) 2026-01-06 00:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533160083 ms) 2026-01-06 00:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533160084 ms) 2026-01-06 00:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533160084 ms) 2026-01-06 00:20:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533161115 ms) 2026-01-06 00:20:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533161116 ms) 2026-01-06 00:20:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:20:40.710745+00:00', 'runtime': '533160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533161117 ms) 2026-01-06 00:20:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:19:40.710720+00:00', 'runtime': '533100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533161117 ms) 2026-01-06 00:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533180089 ms) 2026-01-06 00:21:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533180090 ms) 2026-01-06 00:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:20:40.710859+00:00'} (T+533180091 ms) 2026-01-06 00:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533220082 ms) 2026-01-06 00:21:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533220083 ms) 2026-01-06 00:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533220083 ms) 2026-01-06 00:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533220083 ms) 2026-01-06 00:21:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533221124 ms) 2026-01-06 00:21:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533221125 ms) 2026-01-06 00:21:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:21:40.710598+00:00', 'runtime': '533220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533221128 ms) 2026-01-06 00:21:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:20:40.710745+00:00', 'runtime': '533160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533221128 ms) 2026-01-06 00:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533240089 ms) 2026-01-06 00:22:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533240090 ms) 2026-01-06 00:22:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:21:40.710627+00:00'} (T+533240093 ms) 2026-01-06 00:22:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533280054 ms) 2026-01-06 00:22:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533280054 ms) 2026-01-06 00:22:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533280054 ms) 2026-01-06 00:22:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533280054 ms) 2026-01-06 00:22:41.766 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533281087 ms) 2026-01-06 00:22:41.767 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533281088 ms) 2026-01-06 00:22:41.769 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:22:40.710528+00:00', 'runtime': '533280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533281090 ms) 2026-01-06 00:22:41.770 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:21:40.710598+00:00', 'runtime': '533220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533281091 ms) 2026-01-06 00:23:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533300072 ms) 2026-01-06 00:23:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533300073 ms) 2026-01-06 00:23:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:22:40.710600+00:00'} (T+533300076 ms) 2026-01-06 00:23:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533340081 ms) 2026-01-06 00:23:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533340081 ms) 2026-01-06 00:23:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533340081 ms) 2026-01-06 00:23:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533340082 ms) 2026-01-06 00:23:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533341115 ms) 2026-01-06 00:23:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533341116 ms) 2026-01-06 00:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:23:40.710765+00:00', 'runtime': '533340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533341118 ms) 2026-01-06 00:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:22:40.710528+00:00', 'runtime': '533280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533341119 ms) 2026-01-06 00:24:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533360090 ms) 2026-01-06 00:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533360091 ms) 2026-01-06 00:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:23:40.710877+00:00'} (T+533360094 ms) 2026-01-06 00:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533400084 ms) 2026-01-06 00:24:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533400084 ms) 2026-01-06 00:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533400084 ms) 2026-01-06 00:24:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533400085 ms) 2026-01-06 00:24:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533401123 ms) 2026-01-06 00:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533401124 ms) 2026-01-06 00:24:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:24:40.710764+00:00', 'runtime': '533400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533401126 ms) 2026-01-06 00:24:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:23:40.710765+00:00', 'runtime': '533340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533401127 ms) 2026-01-06 00:25:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533420085 ms) 2026-01-06 00:25:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533420086 ms) 2026-01-06 00:25:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:24:40.710856+00:00'} (T+533420089 ms) 2026-01-06 00:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533460083 ms) 2026-01-06 00:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533460083 ms) 2026-01-06 00:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533460084 ms) 2026-01-06 00:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533460084 ms) 2026-01-06 00:25:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533461116 ms) 2026-01-06 00:25:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533461117 ms) 2026-01-06 00:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:25:40.710760+00:00', 'runtime': '533460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533461118 ms) 2026-01-06 00:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:24:40.710764+00:00', 'runtime': '533400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533461118 ms) 2026-01-06 00:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533480090 ms) 2026-01-06 00:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533480091 ms) 2026-01-06 00:26:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:25:40.710867+00:00'} (T+533480094 ms) 2026-01-06 00:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533520083 ms) 2026-01-06 00:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533520084 ms) 2026-01-06 00:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533520084 ms) 2026-01-06 00:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533520085 ms) 2026-01-06 00:26:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533521114 ms) 2026-01-06 00:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533521115 ms) 2026-01-06 00:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:26:40.710731+00:00', 'runtime': '533520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533521116 ms) 2026-01-06 00:26:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:25:40.710760+00:00', 'runtime': '533460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533521116 ms) 2026-01-06 00:27:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533540091 ms) 2026-01-06 00:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533540092 ms) 2026-01-06 00:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:26:40.710826+00:00'} (T+533540094 ms) 2026-01-06 00:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533580082 ms) 2026-01-06 00:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533580083 ms) 2026-01-06 00:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533580083 ms) 2026-01-06 00:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533580084 ms) 2026-01-06 00:27:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533581116 ms) 2026-01-06 00:27:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533581117 ms) 2026-01-06 00:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:27:40.710767+00:00', 'runtime': '533580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533581118 ms) 2026-01-06 00:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:26:40.710731+00:00', 'runtime': '533520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533581118 ms) 2026-01-06 00:28:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533600092 ms) 2026-01-06 00:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533600093 ms) 2026-01-06 00:28:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:27:40.713246+00:00'} (T+533600095 ms) 2026-01-06 00:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533640083 ms) 2026-01-06 00:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533640083 ms) 2026-01-06 00:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533640084 ms) 2026-01-06 00:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533640084 ms) 2026-01-06 00:28:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533641124 ms) 2026-01-06 00:28:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533641125 ms) 2026-01-06 00:28:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:28:40.710788+00:00', 'runtime': '533640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533641127 ms) 2026-01-06 00:28:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:27:40.710767+00:00', 'runtime': '533580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533641128 ms) 2026-01-06 00:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533660091 ms) 2026-01-06 00:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533660092 ms) 2026-01-06 00:29:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:28:40.713241+00:00'} (T+533660095 ms) 2026-01-06 00:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533700083 ms) 2026-01-06 00:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533700083 ms) 2026-01-06 00:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533700084 ms) 2026-01-06 00:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533700084 ms) 2026-01-06 00:29:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533701123 ms) 2026-01-06 00:29:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533701124 ms) 2026-01-06 00:29:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:29:40.710745+00:00', 'runtime': '533700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533701126 ms) 2026-01-06 00:29:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:28:40.710788+00:00', 'runtime': '533640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533701127 ms) 2026-01-06 00:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533720088 ms) 2026-01-06 00:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533720089 ms) 2026-01-06 00:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:29:40.710835+00:00'} (T+533720092 ms) 2026-01-06 00:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533760082 ms) 2026-01-06 00:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533760083 ms) 2026-01-06 00:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533760083 ms) 2026-01-06 00:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533760083 ms) 2026-01-06 00:30:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533761117 ms) 2026-01-06 00:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533761118 ms) 2026-01-06 00:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:30:40.710720+00:00', 'runtime': '533760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533761120 ms) 2026-01-06 00:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:29:40.710745+00:00', 'runtime': '533700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533761121 ms) 2026-01-06 00:31:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533780087 ms) 2026-01-06 00:31:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533780088 ms) 2026-01-06 00:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:30:40.710800+00:00'} (T+533780091 ms) 2026-01-06 00:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533820083 ms) 2026-01-06 00:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533820083 ms) 2026-01-06 00:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533820084 ms) 2026-01-06 00:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533820084 ms) 2026-01-06 00:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533821119 ms) 2026-01-06 00:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533821119 ms) 2026-01-06 00:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:31:40.710702+00:00', 'runtime': '533820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533821120 ms) 2026-01-06 00:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:30:40.710720+00:00', 'runtime': '533760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533821120 ms) 2026-01-06 00:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533840090 ms) 2026-01-06 00:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533840091 ms) 2026-01-06 00:32:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:31:40.710820+00:00'} (T+533840096 ms) 2026-01-06 00:32:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533880078 ms) 2026-01-06 00:32:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533880079 ms) 2026-01-06 00:32:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533880079 ms) 2026-01-06 00:32:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533880079 ms) 2026-01-06 00:32:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533881114 ms) 2026-01-06 00:32:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533881115 ms) 2026-01-06 00:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:32:40.710731+00:00', 'runtime': '533880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533881117 ms) 2026-01-06 00:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:31:40.710702+00:00', 'runtime': '533820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533881118 ms) 2026-01-06 00:33:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533900093 ms) 2026-01-06 00:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533900095 ms) 2026-01-06 00:33:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:32:40.713231+00:00'} (T+533900097 ms) 2026-01-06 00:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+533940082 ms) 2026-01-06 00:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+533940083 ms) 2026-01-06 00:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+533940083 ms) 2026-01-06 00:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+533940084 ms) 2026-01-06 00:33:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+533941119 ms) 2026-01-06 00:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+533941119 ms) 2026-01-06 00:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:33:40.710778+00:00', 'runtime': '533940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533941120 ms) 2026-01-06 00:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:32:40.710731+00:00', 'runtime': '533880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+533941121 ms) 2026-01-06 00:34:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533960090 ms) 2026-01-06 00:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+533960091 ms) 2026-01-06 00:34:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:33:40.710863+00:00'} (T+533960094 ms) 2026-01-06 00:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534000083 ms) 2026-01-06 00:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534000083 ms) 2026-01-06 00:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534000083 ms) 2026-01-06 00:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534000084 ms) 2026-01-06 00:34:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534001119 ms) 2026-01-06 00:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534001119 ms) 2026-01-06 00:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:34:40.710754+00:00', 'runtime': '534000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534001121 ms) 2026-01-06 00:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:33:40.710778+00:00', 'runtime': '533940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534001121 ms) 2026-01-06 00:35:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534020089 ms) 2026-01-06 00:35:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534020090 ms) 2026-01-06 00:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:34:40.710865+00:00'} (T+534020092 ms) 2026-01-06 00:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534060082 ms) 2026-01-06 00:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534060083 ms) 2026-01-06 00:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534060083 ms) 2026-01-06 00:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534060084 ms) 2026-01-06 00:35:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534061112 ms) 2026-01-06 00:35:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534061112 ms) 2026-01-06 00:35:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:35:40.710738+00:00', 'runtime': '534060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534061113 ms) 2026-01-06 00:35:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:34:40.710754+00:00', 'runtime': '534000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534061113 ms) 2026-01-06 00:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534080088 ms) 2026-01-06 00:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534080089 ms) 2026-01-06 00:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:35:40.710853+00:00'} (T+534080092 ms) 2026-01-06 00:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534120083 ms) 2026-01-06 00:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534120083 ms) 2026-01-06 00:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534120084 ms) 2026-01-06 00:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534120084 ms) 2026-01-06 00:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534121116 ms) 2026-01-06 00:36:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534121117 ms) 2026-01-06 00:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:36:40.710736+00:00', 'runtime': '534120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534121118 ms) 2026-01-06 00:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:35:40.710738+00:00', 'runtime': '534060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534121118 ms) 2026-01-06 00:37:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534140092 ms) 2026-01-06 00:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534140093 ms) 2026-01-06 00:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:36:40.713221+00:00'} (T+534140095 ms) 2026-01-06 00:37:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534180076 ms) 2026-01-06 00:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534180077 ms) 2026-01-06 00:37:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534180077 ms) 2026-01-06 00:37:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534180077 ms) 2026-01-06 00:37:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534181115 ms) 2026-01-06 00:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534181116 ms) 2026-01-06 00:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:37:40.710764+00:00', 'runtime': '534180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534181118 ms) 2026-01-06 00:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:36:40.710736+00:00', 'runtime': '534120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534181119 ms) 2026-01-06 00:38:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534200089 ms) 2026-01-06 00:38:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534200090 ms) 2026-01-06 00:38:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:37:40.710858+00:00'} (T+534200092 ms) 2026-01-06 00:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534240083 ms) 2026-01-06 00:38:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534240084 ms) 2026-01-06 00:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534240084 ms) 2026-01-06 00:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534240085 ms) 2026-01-06 00:38:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534241124 ms) 2026-01-06 00:38:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534241125 ms) 2026-01-06 00:38:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:38:40.710758+00:00', 'runtime': '534240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534241127 ms) 2026-01-06 00:38:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:37:40.710764+00:00', 'runtime': '534180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534241128 ms) 2026-01-06 00:39:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534260091 ms) 2026-01-06 00:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534260092 ms) 2026-01-06 00:39:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:38:40.713243+00:00'} (T+534260095 ms) 2026-01-06 00:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534300083 ms) 2026-01-06 00:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534300083 ms) 2026-01-06 00:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534300084 ms) 2026-01-06 00:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534300084 ms) 2026-01-06 00:39:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534301119 ms) 2026-01-06 00:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534301119 ms) 2026-01-06 00:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:39:40.710711+00:00', 'runtime': '534300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534301120 ms) 2026-01-06 00:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:38:40.710758+00:00', 'runtime': '534240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534301121 ms) 2026-01-06 00:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534320087 ms) 2026-01-06 00:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534320089 ms) 2026-01-06 00:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:39:40.710850+00:00'} (T+534320091 ms) 2026-01-06 00:40:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534360086 ms) 2026-01-06 00:40:40.766 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534360087 ms) 2026-01-06 00:40:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534360087 ms) 2026-01-06 00:40:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534360087 ms) 2026-01-06 00:40:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534361123 ms) 2026-01-06 00:40:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534361124 ms) 2026-01-06 00:40:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:40:40.713152+00:00', 'runtime': '534360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534361125 ms) 2026-01-06 00:40:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:39:40.710711+00:00', 'runtime': '534300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534361125 ms) 2026-01-06 00:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534380090 ms) 2026-01-06 00:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534380091 ms) 2026-01-06 00:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:40:40.710821+00:00'} (T+534380094 ms) 2026-01-06 00:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534420083 ms) 2026-01-06 00:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534420083 ms) 2026-01-06 00:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534420083 ms) 2026-01-06 00:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534420084 ms) 2026-01-06 00:41:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534421123 ms) 2026-01-06 00:41:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534421124 ms) 2026-01-06 00:41:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:41:40.710744+00:00', 'runtime': '534420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534421127 ms) 2026-01-06 00:41:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:40:40.713152+00:00', 'runtime': '534360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534421127 ms) 2026-01-06 00:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534440088 ms) 2026-01-06 00:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534440089 ms) 2026-01-06 00:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:41:40.710858+00:00'} (T+534440092 ms) 2026-01-06 00:42:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534480054 ms) 2026-01-06 00:42:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534480054 ms) 2026-01-06 00:42:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534480054 ms) 2026-01-06 00:42:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534480054 ms) 2026-01-06 00:42:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534481080 ms) 2026-01-06 00:42:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534481080 ms) 2026-01-06 00:42:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:42:40.710537+00:00', 'runtime': '534480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534481081 ms) 2026-01-06 00:42:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:41:40.710744+00:00', 'runtime': '534420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534481082 ms) 2026-01-06 00:43:00.752 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534500073 ms) 2026-01-06 00:43:00.753 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534500074 ms) 2026-01-06 00:43:00.756 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:42:40.710614+00:00'} (T+534500077 ms) 2026-01-06 00:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534540083 ms) 2026-01-06 00:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534540083 ms) 2026-01-06 00:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534540084 ms) 2026-01-06 00:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534540084 ms) 2026-01-06 00:43:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534541122 ms) 2026-01-06 00:43:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534541123 ms) 2026-01-06 00:43:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:43:40.710803+00:00', 'runtime': '534540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534541124 ms) 2026-01-06 00:43:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:42:40.710537+00:00', 'runtime': '534480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534541125 ms) 2026-01-06 00:44:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534560091 ms) 2026-01-06 00:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534560092 ms) 2026-01-06 00:44:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:43:40.713242+00:00'} (T+534560095 ms) 2026-01-06 00:44:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534600084 ms) 2026-01-06 00:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534600084 ms) 2026-01-06 00:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534600085 ms) 2026-01-06 00:44:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534600085 ms) 2026-01-06 00:44:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534601114 ms) 2026-01-06 00:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534601114 ms) 2026-01-06 00:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:44:40.710716+00:00', 'runtime': '534600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534601116 ms) 2026-01-06 00:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:43:40.710803+00:00', 'runtime': '534540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534601117 ms) 2026-01-06 00:45:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534620093 ms) 2026-01-06 00:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534620094 ms) 2026-01-06 00:45:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:44:40.713233+00:00'} (T+534620097 ms) 2026-01-06 00:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534660082 ms) 2026-01-06 00:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534660083 ms) 2026-01-06 00:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534660083 ms) 2026-01-06 00:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534660084 ms) 2026-01-06 00:45:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534661116 ms) 2026-01-06 00:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534661117 ms) 2026-01-06 00:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:45:40.710746+00:00', 'runtime': '534660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534661118 ms) 2026-01-06 00:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:44:40.710716+00:00', 'runtime': '534600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534661118 ms) 2026-01-06 00:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534680090 ms) 2026-01-06 00:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534680091 ms) 2026-01-06 00:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:45:40.710842+00:00'} (T+534680094 ms) 2026-01-06 00:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534720083 ms) 2026-01-06 00:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534720083 ms) 2026-01-06 00:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534720083 ms) 2026-01-06 00:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534720084 ms) 2026-01-06 00:46:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534721113 ms) 2026-01-06 00:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534721113 ms) 2026-01-06 00:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:46:40.710765+00:00', 'runtime': '534720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534721114 ms) 2026-01-06 00:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:45:40.710746+00:00', 'runtime': '534660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534721114 ms) 2026-01-06 00:47:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534740093 ms) 2026-01-06 00:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534740094 ms) 2026-01-06 00:47:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:46:40.713222+00:00'} (T+534740097 ms) 2026-01-06 00:47:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534780054 ms) 2026-01-06 00:47:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534780054 ms) 2026-01-06 00:47:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534780054 ms) 2026-01-06 00:47:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534780054 ms) 2026-01-06 00:47:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534781081 ms) 2026-01-06 00:47:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534781081 ms) 2026-01-06 00:47:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:47:40.710559+00:00', 'runtime': '534780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534781082 ms) 2026-01-06 00:47:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:46:40.710765+00:00', 'runtime': '534720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534781082 ms) 2026-01-06 00:48:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534800072 ms) 2026-01-06 00:48:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534800073 ms) 2026-01-06 00:48:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:47:40.710598+00:00'} (T+534800076 ms) 2026-01-06 00:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534840083 ms) 2026-01-06 00:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534840084 ms) 2026-01-06 00:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534840084 ms) 2026-01-06 00:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534840085 ms) 2026-01-06 00:48:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534841117 ms) 2026-01-06 00:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534841117 ms) 2026-01-06 00:48:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:48:40.710845+00:00', 'runtime': '534840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534841118 ms) 2026-01-06 00:48:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:47:40.710559+00:00', 'runtime': '534780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534841118 ms) 2026-01-06 00:49:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534860091 ms) 2026-01-06 00:49:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534860092 ms) 2026-01-06 00:49:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:48:40.710878+00:00'} (T+534860095 ms) 2026-01-06 00:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534900083 ms) 2026-01-06 00:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534900084 ms) 2026-01-06 00:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534900084 ms) 2026-01-06 00:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534900084 ms) 2026-01-06 00:49:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534901117 ms) 2026-01-06 00:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534901117 ms) 2026-01-06 00:49:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:49:40.710764+00:00', 'runtime': '534900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534901118 ms) 2026-01-06 00:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:48:40.710845+00:00', 'runtime': '534840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534901119 ms) 2026-01-06 00:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534920088 ms) 2026-01-06 00:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534920089 ms) 2026-01-06 00:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:49:40.710840+00:00'} (T+534920092 ms) 2026-01-06 00:50:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+534960077 ms) 2026-01-06 00:50:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+534960078 ms) 2026-01-06 00:50:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+534960078 ms) 2026-01-06 00:50:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+534960079 ms) 2026-01-06 00:50:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+534961115 ms) 2026-01-06 00:50:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+534961116 ms) 2026-01-06 00:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:50:40.710721+00:00', 'runtime': '534960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534961119 ms) 2026-01-06 00:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:49:40.710764+00:00', 'runtime': '534900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+534961120 ms) 2026-01-06 00:51:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534980089 ms) 2026-01-06 00:51:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+534980090 ms) 2026-01-06 00:51:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:50:40.710851+00:00'} (T+534980093 ms) 2026-01-06 00:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535020083 ms) 2026-01-06 00:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535020083 ms) 2026-01-06 00:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535020083 ms) 2026-01-06 00:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535020084 ms) 2026-01-06 00:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535021119 ms) 2026-01-06 00:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535021119 ms) 2026-01-06 00:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:51:40.710750+00:00', 'runtime': '535020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535021120 ms) 2026-01-06 00:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:50:40.710721+00:00', 'runtime': '534960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535021121 ms) 2026-01-06 00:52:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535040093 ms) 2026-01-06 00:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535040094 ms) 2026-01-06 00:52:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:51:40.713237+00:00'} (T+535040096 ms) 2026-01-06 00:52:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535080054 ms) 2026-01-06 00:52:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535080054 ms) 2026-01-06 00:52:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535080054 ms) 2026-01-06 00:52:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535080054 ms) 2026-01-06 00:52:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535081080 ms) 2026-01-06 00:52:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535081080 ms) 2026-01-06 00:52:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:52:40.710530+00:00', 'runtime': '535080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535081081 ms) 2026-01-06 00:52:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:51:40.710750+00:00', 'runtime': '535020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535081081 ms) 2026-01-06 00:53:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535100071 ms) 2026-01-06 00:53:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535100072 ms) 2026-01-06 00:53:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:52:40.710607+00:00'} (T+535100075 ms) 2026-01-06 00:53:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535140077 ms) 2026-01-06 00:53:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535140077 ms) 2026-01-06 00:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535140077 ms) 2026-01-06 00:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535140078 ms) 2026-01-06 00:53:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535141112 ms) 2026-01-06 00:53:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535141113 ms) 2026-01-06 00:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:53:40.710776+00:00', 'runtime': '535140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535141117 ms) 2026-01-06 00:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:52:40.710530+00:00', 'runtime': '535080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535141118 ms) 2026-01-06 00:54:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535160088 ms) 2026-01-06 00:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535160089 ms) 2026-01-06 00:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:53:40.710865+00:00'} (T+535160092 ms) 2026-01-06 00:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535200082 ms) 2026-01-06 00:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535200083 ms) 2026-01-06 00:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535200083 ms) 2026-01-06 00:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535200084 ms) 2026-01-06 00:54:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535201122 ms) 2026-01-06 00:54:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535201123 ms) 2026-01-06 00:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:54:40.710693+00:00', 'runtime': '535200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535201125 ms) 2026-01-06 00:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:53:40.710776+00:00', 'runtime': '535140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535201126 ms) 2026-01-06 00:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535220090 ms) 2026-01-06 00:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535220091 ms) 2026-01-06 00:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:54:40.710832+00:00'} (T+535220094 ms) 2026-01-06 00:55:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535260076 ms) 2026-01-06 00:55:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535260077 ms) 2026-01-06 00:55:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535260077 ms) 2026-01-06 00:55:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535260077 ms) 2026-01-06 00:55:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535261111 ms) 2026-01-06 00:55:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535261112 ms) 2026-01-06 00:55:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:55:40.710697+00:00', 'runtime': '535260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535261114 ms) 2026-01-06 00:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:54:40.710693+00:00', 'runtime': '535200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535261115 ms) 2026-01-06 00:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535280088 ms) 2026-01-06 00:56:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535280089 ms) 2026-01-06 00:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:55:40.710830+00:00'} (T+535280092 ms) 2026-01-06 00:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535320082 ms) 2026-01-06 00:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535320083 ms) 2026-01-06 00:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535320083 ms) 2026-01-06 00:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535320084 ms) 2026-01-06 00:56:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535321116 ms) 2026-01-06 00:56:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535321116 ms) 2026-01-06 00:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:56:40.710792+00:00', 'runtime': '535320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535321117 ms) 2026-01-06 00:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:55:40.710697+00:00', 'runtime': '535260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535321118 ms) 2026-01-06 00:57:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535340091 ms) 2026-01-06 00:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535340092 ms) 2026-01-06 00:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:56:40.710857+00:00'} (T+535340095 ms) 2026-01-06 00:57:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535380054 ms) 2026-01-06 00:57:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535380054 ms) 2026-01-06 00:57:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535380054 ms) 2026-01-06 00:57:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535380054 ms) 2026-01-06 00:57:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535381081 ms) 2026-01-06 00:57:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535381082 ms) 2026-01-06 00:57:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:57:40.710545+00:00', 'runtime': '535380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535381083 ms) 2026-01-06 00:57:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:56:40.710792+00:00', 'runtime': '535320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535381083 ms) 2026-01-06 00:58:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535400071 ms) 2026-01-06 00:58:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535400072 ms) 2026-01-06 00:58:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:57:40.710591+00:00'} (T+535400075 ms) 2026-01-06 00:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535440082 ms) 2026-01-06 00:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535440083 ms) 2026-01-06 00:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535440083 ms) 2026-01-06 00:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535440084 ms) 2026-01-06 00:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535441119 ms) 2026-01-06 00:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535441119 ms) 2026-01-06 00:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:58:40.710767+00:00', 'runtime': '535440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535441120 ms) 2026-01-06 00:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:57:40.710545+00:00', 'runtime': '535380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535441120 ms) 2026-01-06 00:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535460087 ms) 2026-01-06 00:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535460088 ms) 2026-01-06 00:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:58:40.710861+00:00'} (T+535460091 ms) 2026-01-06 00:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535500083 ms) 2026-01-06 00:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535500083 ms) 2026-01-06 00:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535500084 ms) 2026-01-06 00:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535500084 ms) 2026-01-06 00:59:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535501122 ms) 2026-01-06 00:59:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535501123 ms) 2026-01-06 00:59:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 00:59:40.710753+00:00', 'runtime': '535500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535501125 ms) 2026-01-06 00:59:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:58:40.710767+00:00', 'runtime': '535440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535501126 ms) 2026-01-06 01:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535520088 ms) 2026-01-06 01:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535520089 ms) 2026-01-06 01:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 00:59:40.710858+00:00'} (T+535520092 ms) 2026-01-06 01:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535560082 ms) 2026-01-06 01:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535560083 ms) 2026-01-06 01:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535560083 ms) 2026-01-06 01:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535560084 ms) 2026-01-06 01:00:41.804 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535561126 ms) 2026-01-06 01:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535561127 ms) 2026-01-06 01:00:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:00:40.710752+00:00', 'runtime': '535560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535561129 ms) 2026-01-06 01:00:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 00:59:40.710753+00:00', 'runtime': '535500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535561129 ms) 2026-01-06 01:01:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535580090 ms) 2026-01-06 01:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535580091 ms) 2026-01-06 01:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:00:40.710857+00:00'} (T+535580093 ms) 2026-01-06 01:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535620083 ms) 2026-01-06 01:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535620084 ms) 2026-01-06 01:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535620084 ms) 2026-01-06 01:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535620084 ms) 2026-01-06 01:01:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535621122 ms) 2026-01-06 01:01:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535621123 ms) 2026-01-06 01:01:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:01:40.710751+00:00', 'runtime': '535620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535621125 ms) 2026-01-06 01:01:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:00:40.710752+00:00', 'runtime': '535560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535621126 ms) 2026-01-06 01:02:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535640092 ms) 2026-01-06 01:02:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535640093 ms) 2026-01-06 01:02:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:01:40.713237+00:00'} (T+535640096 ms) 2026-01-06 01:02:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535680054 ms) 2026-01-06 01:02:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535680055 ms) 2026-01-06 01:02:40.734 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535680055 ms) 2026-01-06 01:02:40.734 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535680055 ms) 2026-01-06 01:02:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535681080 ms) 2026-01-06 01:02:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535681081 ms) 2026-01-06 01:02:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:02:40.710512+00:00', 'runtime': '535680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535681082 ms) 2026-01-06 01:02:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:01:40.710751+00:00', 'runtime': '535620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535681082 ms) 2026-01-06 01:03:00.748 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535700069 ms) 2026-01-06 01:03:00.749 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535700070 ms) 2026-01-06 01:03:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:02:40.710606+00:00'} (T+535700072 ms) 2026-01-06 01:03:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535740077 ms) 2026-01-06 01:03:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535740078 ms) 2026-01-06 01:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535740078 ms) 2026-01-06 01:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535740078 ms) 2026-01-06 01:03:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535741114 ms) 2026-01-06 01:03:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535741115 ms) 2026-01-06 01:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:03:40.710839+00:00', 'runtime': '535740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535741117 ms) 2026-01-06 01:03:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:02:40.710512+00:00', 'runtime': '535680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535741117 ms) 2026-01-06 01:04:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535760089 ms) 2026-01-06 01:04:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535760090 ms) 2026-01-06 01:04:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:03:40.710903+00:00'} (T+535760093 ms) 2026-01-06 01:04:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535800082 ms) 2026-01-06 01:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535800083 ms) 2026-01-06 01:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535800083 ms) 2026-01-06 01:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535800084 ms) 2026-01-06 01:04:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535801124 ms) 2026-01-06 01:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535801125 ms) 2026-01-06 01:04:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:04:40.710731+00:00', 'runtime': '535800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535801127 ms) 2026-01-06 01:04:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:03:40.710839+00:00', 'runtime': '535740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535801128 ms) 2026-01-06 01:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535820090 ms) 2026-01-06 01:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535820091 ms) 2026-01-06 01:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:04:40.710864+00:00'} (T+535820094 ms) 2026-01-06 01:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535860083 ms) 2026-01-06 01:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535860084 ms) 2026-01-06 01:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535860084 ms) 2026-01-06 01:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535860085 ms) 2026-01-06 01:05:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535861124 ms) 2026-01-06 01:05:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535861125 ms) 2026-01-06 01:05:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:05:40.710752+00:00', 'runtime': '535860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535861127 ms) 2026-01-06 01:05:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:04:40.710731+00:00', 'runtime': '535800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535861128 ms) 2026-01-06 01:06:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535880091 ms) 2026-01-06 01:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535880092 ms) 2026-01-06 01:06:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:05:40.713240+00:00'} (T+535880095 ms) 2026-01-06 01:06:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535920084 ms) 2026-01-06 01:06:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535920085 ms) 2026-01-06 01:06:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535920085 ms) 2026-01-06 01:06:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535920086 ms) 2026-01-06 01:06:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535921116 ms) 2026-01-06 01:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535921117 ms) 2026-01-06 01:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:06:40.713164+00:00', 'runtime': '535920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535921118 ms) 2026-01-06 01:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:05:40.710752+00:00', 'runtime': '535860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535921118 ms) 2026-01-06 01:07:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535940090 ms) 2026-01-06 01:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+535940091 ms) 2026-01-06 01:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:06:40.710799+00:00'} (T+535940094 ms) 2026-01-06 01:07:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+535980054 ms) 2026-01-06 01:07:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+535980054 ms) 2026-01-06 01:07:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+535980054 ms) 2026-01-06 01:07:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+535980054 ms) 2026-01-06 01:07:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+535981081 ms) 2026-01-06 01:07:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+535981081 ms) 2026-01-06 01:07:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:07:40.710523+00:00', 'runtime': '535980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535981082 ms) 2026-01-06 01:07:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:06:40.713164+00:00', 'runtime': '535920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+535981084 ms) 2026-01-06 01:08:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536000072 ms) 2026-01-06 01:08:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536000073 ms) 2026-01-06 01:08:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:07:40.712960+00:00'} (T+536000076 ms) 2026-01-06 01:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536040083 ms) 2026-01-06 01:08:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536040084 ms) 2026-01-06 01:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536040084 ms) 2026-01-06 01:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536040085 ms) 2026-01-06 01:08:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536041118 ms) 2026-01-06 01:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536041119 ms) 2026-01-06 01:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:08:40.710785+00:00', 'runtime': '536040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536041120 ms) 2026-01-06 01:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:07:40.710523+00:00', 'runtime': '535980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536041120 ms) 2026-01-06 01:09:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536060091 ms) 2026-01-06 01:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536060092 ms) 2026-01-06 01:09:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:08:40.713242+00:00'} (T+536060095 ms) 2026-01-06 01:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536100083 ms) 2026-01-06 01:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536100083 ms) 2026-01-06 01:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536100084 ms) 2026-01-06 01:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536100084 ms) 2026-01-06 01:09:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536101121 ms) 2026-01-06 01:09:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536101122 ms) 2026-01-06 01:09:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:09:40.710754+00:00', 'runtime': '536100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536101124 ms) 2026-01-06 01:09:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:08:40.710785+00:00', 'runtime': '536040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536101125 ms) 2026-01-06 01:10:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536120088 ms) 2026-01-06 01:10:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536120089 ms) 2026-01-06 01:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:09:40.710862+00:00'} (T+536120092 ms) 2026-01-06 01:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536160083 ms) 2026-01-06 01:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536160083 ms) 2026-01-06 01:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536160084 ms) 2026-01-06 01:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536160084 ms) 2026-01-06 01:10:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536161124 ms) 2026-01-06 01:10:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536161125 ms) 2026-01-06 01:10:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:10:40.710764+00:00', 'runtime': '536160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536161127 ms) 2026-01-06 01:10:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:09:40.710754+00:00', 'runtime': '536100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536161128 ms) 2026-01-06 01:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536180090 ms) 2026-01-06 01:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536180091 ms) 2026-01-06 01:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:10:40.710853+00:00'} (T+536180094 ms) 2026-01-06 01:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536220082 ms) 2026-01-06 01:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536220083 ms) 2026-01-06 01:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536220083 ms) 2026-01-06 01:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536220084 ms) 2026-01-06 01:11:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536221119 ms) 2026-01-06 01:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536221119 ms) 2026-01-06 01:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:11:40.710773+00:00', 'runtime': '536220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536221120 ms) 2026-01-06 01:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:10:40.710764+00:00', 'runtime': '536160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536221120 ms) 2026-01-06 01:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536240090 ms) 2026-01-06 01:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536240091 ms) 2026-01-06 01:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:11:40.710860+00:00'} (T+536240094 ms) 2026-01-06 01:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536280083 ms) 2026-01-06 01:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536280083 ms) 2026-01-06 01:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536280084 ms) 2026-01-06 01:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536280084 ms) 2026-01-06 01:12:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536281117 ms) 2026-01-06 01:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536281117 ms) 2026-01-06 01:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:12:40.710772+00:00', 'runtime': '536280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536281118 ms) 2026-01-06 01:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:11:40.710773+00:00', 'runtime': '536220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536281119 ms) 2026-01-06 01:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536300090 ms) 2026-01-06 01:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536300092 ms) 2026-01-06 01:13:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:12:40.710869+00:00'} (T+536300094 ms) 2026-01-06 01:13:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536340075 ms) 2026-01-06 01:13:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536340076 ms) 2026-01-06 01:13:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536340076 ms) 2026-01-06 01:13:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536340076 ms) 2026-01-06 01:13:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536341112 ms) 2026-01-06 01:13:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536341113 ms) 2026-01-06 01:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:13:40.710720+00:00', 'runtime': '536340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536341115 ms) 2026-01-06 01:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:12:40.710772+00:00', 'runtime': '536280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536341116 ms) 2026-01-06 01:14:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536360087 ms) 2026-01-06 01:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536360088 ms) 2026-01-06 01:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:13:40.710861+00:00'} (T+536360091 ms) 2026-01-06 01:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536400083 ms) 2026-01-06 01:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536400083 ms) 2026-01-06 01:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536400084 ms) 2026-01-06 01:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536400084 ms) 2026-01-06 01:14:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536401114 ms) 2026-01-06 01:14:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536401114 ms) 2026-01-06 01:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:14:40.710729+00:00', 'runtime': '536400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536401115 ms) 2026-01-06 01:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:13:40.710720+00:00', 'runtime': '536340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536401115 ms) 2026-01-06 01:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536420091 ms) 2026-01-06 01:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536420092 ms) 2026-01-06 01:15:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:14:40.710863+00:00'} (T+536420094 ms) 2026-01-06 01:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536460083 ms) 2026-01-06 01:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536460083 ms) 2026-01-06 01:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536460084 ms) 2026-01-06 01:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536460084 ms) 2026-01-06 01:15:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536461112 ms) 2026-01-06 01:15:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536461113 ms) 2026-01-06 01:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:15:40.710731+00:00', 'runtime': '536460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536461114 ms) 2026-01-06 01:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:14:40.710729+00:00', 'runtime': '536400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536461114 ms) 2026-01-06 01:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536480091 ms) 2026-01-06 01:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536480092 ms) 2026-01-06 01:16:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:15:40.710850+00:00'} (T+536480095 ms) 2026-01-06 01:16:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536520076 ms) 2026-01-06 01:16:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536520077 ms) 2026-01-06 01:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536520077 ms) 2026-01-06 01:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536520078 ms) 2026-01-06 01:16:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536521114 ms) 2026-01-06 01:16:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536521115 ms) 2026-01-06 01:16:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:16:40.710745+00:00', 'runtime': '536520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536521117 ms) 2026-01-06 01:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:15:40.710731+00:00', 'runtime': '536460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536521117 ms) 2026-01-06 01:17:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536540089 ms) 2026-01-06 01:17:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536540090 ms) 2026-01-06 01:17:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:16:40.710822+00:00'} (T+536540093 ms) 2026-01-06 01:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536580083 ms) 2026-01-06 01:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536580083 ms) 2026-01-06 01:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536580083 ms) 2026-01-06 01:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536580084 ms) 2026-01-06 01:17:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536581116 ms) 2026-01-06 01:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536581116 ms) 2026-01-06 01:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:17:40.710725+00:00', 'runtime': '536580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536581117 ms) 2026-01-06 01:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:16:40.710745+00:00', 'runtime': '536520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536581118 ms) 2026-01-06 01:18:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536600092 ms) 2026-01-06 01:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536600093 ms) 2026-01-06 01:18:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:17:40.713215+00:00'} (T+536600096 ms) 2026-01-06 01:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536640082 ms) 2026-01-06 01:18:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536640083 ms) 2026-01-06 01:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536640083 ms) 2026-01-06 01:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536640083 ms) 2026-01-06 01:18:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536641121 ms) 2026-01-06 01:18:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536641122 ms) 2026-01-06 01:18:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:18:40.710774+00:00', 'runtime': '536640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536641124 ms) 2026-01-06 01:18:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:17:40.710725+00:00', 'runtime': '536580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536641125 ms) 2026-01-06 01:19:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536660088 ms) 2026-01-06 01:19:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536660089 ms) 2026-01-06 01:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:18:40.710869+00:00'} (T+536660092 ms) 2026-01-06 01:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536700082 ms) 2026-01-06 01:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536700083 ms) 2026-01-06 01:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536700083 ms) 2026-01-06 01:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536700084 ms) 2026-01-06 01:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536701119 ms) 2026-01-06 01:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536701120 ms) 2026-01-06 01:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:19:40.710718+00:00', 'runtime': '536700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536701121 ms) 2026-01-06 01:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:18:40.710774+00:00', 'runtime': '536640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536701121 ms) 2026-01-06 01:20:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536720092 ms) 2026-01-06 01:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536720093 ms) 2026-01-06 01:20:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:19:40.713227+00:00'} (T+536720096 ms) 2026-01-06 01:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536760083 ms) 2026-01-06 01:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536760083 ms) 2026-01-06 01:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536760084 ms) 2026-01-06 01:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536760084 ms) 2026-01-06 01:20:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536761121 ms) 2026-01-06 01:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536761121 ms) 2026-01-06 01:20:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:20:40.710777+00:00', 'runtime': '536760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536761122 ms) 2026-01-06 01:20:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:19:40.710718+00:00', 'runtime': '536700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536761122 ms) 2026-01-06 01:21:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536780088 ms) 2026-01-06 01:21:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536780089 ms) 2026-01-06 01:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:20:40.710860+00:00'} (T+536780091 ms) 2026-01-06 01:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536820083 ms) 2026-01-06 01:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536820083 ms) 2026-01-06 01:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536820084 ms) 2026-01-06 01:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536820084 ms) 2026-01-06 01:21:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536821118 ms) 2026-01-06 01:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536821118 ms) 2026-01-06 01:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:21:40.710721+00:00', 'runtime': '536820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536821120 ms) 2026-01-06 01:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:20:40.710777+00:00', 'runtime': '536760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536821120 ms) 2026-01-06 01:22:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536840090 ms) 2026-01-06 01:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536840091 ms) 2026-01-06 01:22:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:21:40.710865+00:00'} (T+536840093 ms) 2026-01-06 01:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536880083 ms) 2026-01-06 01:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536880083 ms) 2026-01-06 01:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536880083 ms) 2026-01-06 01:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536880084 ms) 2026-01-06 01:22:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536881118 ms) 2026-01-06 01:22:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536881119 ms) 2026-01-06 01:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:22:40.710764+00:00', 'runtime': '536880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536881119 ms) 2026-01-06 01:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:21:40.710721+00:00', 'runtime': '536820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536881120 ms) 2026-01-06 01:23:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536900089 ms) 2026-01-06 01:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536900089 ms) 2026-01-06 01:23:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:22:40.710845+00:00'} (T+536900090 ms) 2026-01-06 01:23:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+536940078 ms) 2026-01-06 01:23:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+536940078 ms) 2026-01-06 01:23:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+536940079 ms) 2026-01-06 01:23:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+536940079 ms) 2026-01-06 01:23:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+536941117 ms) 2026-01-06 01:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+536941118 ms) 2026-01-06 01:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:23:40.713159+00:00', 'runtime': '536940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536941120 ms) 2026-01-06 01:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:22:40.710764+00:00', 'runtime': '536880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+536941121 ms) 2026-01-06 01:24:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536960088 ms) 2026-01-06 01:24:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+536960089 ms) 2026-01-06 01:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:23:40.710811+00:00'} (T+536960092 ms) 2026-01-06 01:24:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537000081 ms) 2026-01-06 01:24:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537000081 ms) 2026-01-06 01:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537000081 ms) 2026-01-06 01:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537000082 ms) 2026-01-06 01:24:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537001114 ms) 2026-01-06 01:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537001115 ms) 2026-01-06 01:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:24:40.710719+00:00', 'runtime': '537000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537001117 ms) 2026-01-06 01:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:23:40.713159+00:00', 'runtime': '536940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537001117 ms) 2026-01-06 01:25:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537020090 ms) 2026-01-06 01:25:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537020091 ms) 2026-01-06 01:25:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:24:40.710829+00:00'} (T+537020094 ms) 2026-01-06 01:25:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537060077 ms) 2026-01-06 01:25:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537060077 ms) 2026-01-06 01:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537060077 ms) 2026-01-06 01:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537060077 ms) 2026-01-06 01:25:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537061112 ms) 2026-01-06 01:25:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537061113 ms) 2026-01-06 01:25:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:25:40.710731+00:00', 'runtime': '537060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537061115 ms) 2026-01-06 01:25:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:24:40.710719+00:00', 'runtime': '537000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537061116 ms) 2026-01-06 01:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537080088 ms) 2026-01-06 01:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537080089 ms) 2026-01-06 01:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:25:40.710858+00:00'} (T+537080092 ms) 2026-01-06 01:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537120083 ms) 2026-01-06 01:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537120084 ms) 2026-01-06 01:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537120084 ms) 2026-01-06 01:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537120085 ms) 2026-01-06 01:26:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537121123 ms) 2026-01-06 01:26:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537121124 ms) 2026-01-06 01:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:26:40.710738+00:00', 'runtime': '537120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537121126 ms) 2026-01-06 01:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:25:40.710731+00:00', 'runtime': '537060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537121127 ms) 2026-01-06 01:27:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537140085 ms) 2026-01-06 01:27:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537140086 ms) 2026-01-06 01:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:26:40.710841+00:00'} (T+537140089 ms) 2026-01-06 01:27:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537180080 ms) 2026-01-06 01:27:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537180080 ms) 2026-01-06 01:27:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537180080 ms) 2026-01-06 01:27:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537180081 ms) 2026-01-06 01:27:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537181114 ms) 2026-01-06 01:27:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537181115 ms) 2026-01-06 01:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:27:40.710681+00:00', 'runtime': '537180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537181118 ms) 2026-01-06 01:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:26:40.710738+00:00', 'runtime': '537120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537181119 ms) 2026-01-06 01:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537200090 ms) 2026-01-06 01:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537200091 ms) 2026-01-06 01:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:27:40.710854+00:00'} (T+537200094 ms) 2026-01-06 01:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537240083 ms) 2026-01-06 01:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537240083 ms) 2026-01-06 01:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537240084 ms) 2026-01-06 01:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537240084 ms) 2026-01-06 01:28:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537241122 ms) 2026-01-06 01:28:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537241123 ms) 2026-01-06 01:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:28:40.710753+00:00', 'runtime': '537240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537241125 ms) 2026-01-06 01:28:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:27:40.710681+00:00', 'runtime': '537180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537241126 ms) 2026-01-06 01:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537260091 ms) 2026-01-06 01:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537260092 ms) 2026-01-06 01:29:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:28:40.710852+00:00'} (T+537260095 ms) 2026-01-06 01:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537300082 ms) 2026-01-06 01:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537300083 ms) 2026-01-06 01:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537300083 ms) 2026-01-06 01:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537300084 ms) 2026-01-06 01:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537301116 ms) 2026-01-06 01:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537301116 ms) 2026-01-06 01:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:29:40.710715+00:00', 'runtime': '537300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537301118 ms) 2026-01-06 01:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:28:40.710753+00:00', 'runtime': '537240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537301118 ms) 2026-01-06 01:30:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537320090 ms) 2026-01-06 01:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537320092 ms) 2026-01-06 01:30:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:29:40.710847+00:00'} (T+537320093 ms) 2026-01-06 01:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537360083 ms) 2026-01-06 01:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537360083 ms) 2026-01-06 01:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537360083 ms) 2026-01-06 01:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537360084 ms) 2026-01-06 01:30:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537361112 ms) 2026-01-06 01:30:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537361113 ms) 2026-01-06 01:30:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:30:40.710733+00:00', 'runtime': '537360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537361114 ms) 2026-01-06 01:30:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:29:40.710715+00:00', 'runtime': '537300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537361114 ms) 2026-01-06 01:31:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537380090 ms) 2026-01-06 01:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537380091 ms) 2026-01-06 01:31:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:30:40.710856+00:00'} (T+537380094 ms) 2026-01-06 01:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537420083 ms) 2026-01-06 01:31:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537420084 ms) 2026-01-06 01:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537420084 ms) 2026-01-06 01:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537420084 ms) 2026-01-06 01:31:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537421123 ms) 2026-01-06 01:31:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537421124 ms) 2026-01-06 01:31:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:31:40.710752+00:00', 'runtime': '537420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537421127 ms) 2026-01-06 01:31:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:30:40.710733+00:00', 'runtime': '537360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537421128 ms) 2026-01-06 01:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537440090 ms) 2026-01-06 01:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537440091 ms) 2026-01-06 01:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:31:40.710848+00:00'} (T+537440094 ms) 2026-01-06 01:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537480083 ms) 2026-01-06 01:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537480084 ms) 2026-01-06 01:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537480084 ms) 2026-01-06 01:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537480084 ms) 2026-01-06 01:32:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537481123 ms) 2026-01-06 01:32:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537481124 ms) 2026-01-06 01:32:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:32:40.710750+00:00', 'runtime': '537480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537481126 ms) 2026-01-06 01:32:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:31:40.710752+00:00', 'runtime': '537420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537481127 ms) 2026-01-06 01:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537500090 ms) 2026-01-06 01:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537500091 ms) 2026-01-06 01:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:32:40.710861+00:00'} (T+537500093 ms) 2026-01-06 01:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537540082 ms) 2026-01-06 01:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537540083 ms) 2026-01-06 01:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537540083 ms) 2026-01-06 01:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537540084 ms) 2026-01-06 01:33:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537541124 ms) 2026-01-06 01:33:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537541125 ms) 2026-01-06 01:33:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:33:40.710766+00:00', 'runtime': '537540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537541127 ms) 2026-01-06 01:33:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:32:40.710750+00:00', 'runtime': '537480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537541128 ms) 2026-01-06 01:34:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537560090 ms) 2026-01-06 01:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537560091 ms) 2026-01-06 01:34:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:33:40.710857+00:00'} (T+537560094 ms) 2026-01-06 01:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537600083 ms) 2026-01-06 01:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537600083 ms) 2026-01-06 01:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537600083 ms) 2026-01-06 01:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537600084 ms) 2026-01-06 01:34:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537601120 ms) 2026-01-06 01:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537601121 ms) 2026-01-06 01:34:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:34:40.710723+00:00', 'runtime': '537600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537601123 ms) 2026-01-06 01:34:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:33:40.710766+00:00', 'runtime': '537540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537601124 ms) 2026-01-06 01:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537620090 ms) 2026-01-06 01:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537620092 ms) 2026-01-06 01:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:34:40.710836+00:00'} (T+537620094 ms) 2026-01-06 01:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537660083 ms) 2026-01-06 01:35:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537660084 ms) 2026-01-06 01:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537660084 ms) 2026-01-06 01:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537660085 ms) 2026-01-06 01:35:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537661123 ms) 2026-01-06 01:35:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537661124 ms) 2026-01-06 01:35:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:35:40.710759+00:00', 'runtime': '537660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537661126 ms) 2026-01-06 01:35:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:34:40.710723+00:00', 'runtime': '537600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537661127 ms) 2026-01-06 01:36:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537680087 ms) 2026-01-06 01:36:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537680088 ms) 2026-01-06 01:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:35:40.710855+00:00'} (T+537680091 ms) 2026-01-06 01:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537720083 ms) 2026-01-06 01:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537720083 ms) 2026-01-06 01:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537720084 ms) 2026-01-06 01:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537720084 ms) 2026-01-06 01:36:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537721118 ms) 2026-01-06 01:36:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537721119 ms) 2026-01-06 01:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:36:40.710742+00:00', 'runtime': '537720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537721120 ms) 2026-01-06 01:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:35:40.710759+00:00', 'runtime': '537660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537721120 ms) 2026-01-06 01:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537740090 ms) 2026-01-06 01:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537740091 ms) 2026-01-06 01:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:36:40.710863+00:00'} (T+537740094 ms) 2026-01-06 01:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537780083 ms) 2026-01-06 01:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537780083 ms) 2026-01-06 01:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537780084 ms) 2026-01-06 01:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537780084 ms) 2026-01-06 01:37:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537781124 ms) 2026-01-06 01:37:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537781125 ms) 2026-01-06 01:37:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:37:40.710792+00:00', 'runtime': '537780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537781127 ms) 2026-01-06 01:37:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:36:40.710742+00:00', 'runtime': '537720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537781128 ms) 2026-01-06 01:38:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537800091 ms) 2026-01-06 01:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537800091 ms) 2026-01-06 01:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:37:40.713244+00:00'} (T+537800093 ms) 2026-01-06 01:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537840082 ms) 2026-01-06 01:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537840083 ms) 2026-01-06 01:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537840083 ms) 2026-01-06 01:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537840084 ms) 2026-01-06 01:38:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537841121 ms) 2026-01-06 01:38:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537841122 ms) 2026-01-06 01:38:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:38:40.710711+00:00', 'runtime': '537840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537841124 ms) 2026-01-06 01:38:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:37:40.710792+00:00', 'runtime': '537780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537841125 ms) 2026-01-06 01:39:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537860090 ms) 2026-01-06 01:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537860091 ms) 2026-01-06 01:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:38:40.710869+00:00'} (T+537860092 ms) 2026-01-06 01:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537900083 ms) 2026-01-06 01:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537900083 ms) 2026-01-06 01:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537900084 ms) 2026-01-06 01:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537900084 ms) 2026-01-06 01:39:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537901112 ms) 2026-01-06 01:39:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537901112 ms) 2026-01-06 01:39:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:39:40.710719+00:00', 'runtime': '537900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537901113 ms) 2026-01-06 01:39:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:38:40.710711+00:00', 'runtime': '537840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537901114 ms) 2026-01-06 01:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537920087 ms) 2026-01-06 01:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537920088 ms) 2026-01-06 01:40:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:39:40.710845+00:00'} (T+537920090 ms) 2026-01-06 01:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+537960082 ms) 2026-01-06 01:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+537960083 ms) 2026-01-06 01:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+537960083 ms) 2026-01-06 01:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+537960084 ms) 2026-01-06 01:40:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+537961123 ms) 2026-01-06 01:40:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+537961123 ms) 2026-01-06 01:40:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:40:40.710765+00:00', 'runtime': '537960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537961125 ms) 2026-01-06 01:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:39:40.710719+00:00', 'runtime': '537900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+537961126 ms) 2026-01-06 01:41:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537980091 ms) 2026-01-06 01:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+537980092 ms) 2026-01-06 01:41:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:40:40.710842+00:00'} (T+537980095 ms) 2026-01-06 01:41:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538020078 ms) 2026-01-06 01:41:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538020079 ms) 2026-01-06 01:41:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538020079 ms) 2026-01-06 01:41:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538020079 ms) 2026-01-06 01:41:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538021115 ms) 2026-01-06 01:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538021116 ms) 2026-01-06 01:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:41:40.713174+00:00', 'runtime': '538020.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538021118 ms) 2026-01-06 01:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:40:40.710765+00:00', 'runtime': '537960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538021119 ms) 2026-01-06 01:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538040088 ms) 2026-01-06 01:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538040089 ms) 2026-01-06 01:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:41:40.710790+00:00'} (T+538040092 ms) 2026-01-06 01:42:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538080081 ms) 2026-01-06 01:42:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538080081 ms) 2026-01-06 01:42:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538080081 ms) 2026-01-06 01:42:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538080082 ms) 2026-01-06 01:42:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538081115 ms) 2026-01-06 01:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538081116 ms) 2026-01-06 01:42:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:42:40.710719+00:00', 'runtime': '538080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538081118 ms) 2026-01-06 01:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:41:40.713174+00:00', 'runtime': '538020.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538081119 ms) 2026-01-06 01:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538100090 ms) 2026-01-06 01:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538100091 ms) 2026-01-06 01:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:42:40.710845+00:00'} (T+538100093 ms) 2026-01-06 01:43:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538140083 ms) 2026-01-06 01:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538140083 ms) 2026-01-06 01:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538140083 ms) 2026-01-06 01:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538140084 ms) 2026-01-06 01:43:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538141122 ms) 2026-01-06 01:43:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538141123 ms) 2026-01-06 01:43:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:43:40.710725+00:00', 'runtime': '538140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538141126 ms) 2026-01-06 01:43:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:42:40.710719+00:00', 'runtime': '538080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538141127 ms) 2026-01-06 01:44:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538160091 ms) 2026-01-06 01:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538160092 ms) 2026-01-06 01:44:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:43:40.710836+00:00'} (T+538160095 ms) 2026-01-06 01:44:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538200085 ms) 2026-01-06 01:44:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538200085 ms) 2026-01-06 01:44:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538200085 ms) 2026-01-06 01:44:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538200086 ms) 2026-01-06 01:44:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538201122 ms) 2026-01-06 01:44:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538201123 ms) 2026-01-06 01:44:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:44:40.713171+00:00', 'runtime': '538200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538201125 ms) 2026-01-06 01:44:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:43:40.710725+00:00', 'runtime': '538140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538201125 ms) 2026-01-06 01:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538220090 ms) 2026-01-06 01:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538220091 ms) 2026-01-06 01:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:44:40.710785+00:00'} (T+538220094 ms) 2026-01-06 01:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538260083 ms) 2026-01-06 01:45:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538260084 ms) 2026-01-06 01:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538260084 ms) 2026-01-06 01:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538260084 ms) 2026-01-06 01:45:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538261116 ms) 2026-01-06 01:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538261116 ms) 2026-01-06 01:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:45:40.710733+00:00', 'runtime': '538260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538261117 ms) 2026-01-06 01:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:44:40.713171+00:00', 'runtime': '538200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538261118 ms) 2026-01-06 01:46:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538280088 ms) 2026-01-06 01:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538280089 ms) 2026-01-06 01:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:45:40.710835+00:00'} (T+538280092 ms) 2026-01-06 01:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538320083 ms) 2026-01-06 01:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538320083 ms) 2026-01-06 01:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538320084 ms) 2026-01-06 01:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538320084 ms) 2026-01-06 01:46:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538321112 ms) 2026-01-06 01:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538321113 ms) 2026-01-06 01:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:46:40.710761+00:00', 'runtime': '538320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538321114 ms) 2026-01-06 01:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:45:40.710733+00:00', 'runtime': '538260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538321114 ms) 2026-01-06 01:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538340090 ms) 2026-01-06 01:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538340091 ms) 2026-01-06 01:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:46:40.710849+00:00'} (T+538340094 ms) 2026-01-06 01:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538380083 ms) 2026-01-06 01:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538380083 ms) 2026-01-06 01:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538380083 ms) 2026-01-06 01:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538380084 ms) 2026-01-06 01:47:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538381118 ms) 2026-01-06 01:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538381119 ms) 2026-01-06 01:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:47:40.710741+00:00', 'runtime': '538380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538381120 ms) 2026-01-06 01:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:46:40.710761+00:00', 'runtime': '538320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538381120 ms) 2026-01-06 01:48:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538400088 ms) 2026-01-06 01:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538400089 ms) 2026-01-06 01:48:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:47:40.710842+00:00'} (T+538400093 ms) 2026-01-06 01:48:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538440085 ms) 2026-01-06 01:48:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538440086 ms) 2026-01-06 01:48:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538440086 ms) 2026-01-06 01:48:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538440087 ms) 2026-01-06 01:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538441119 ms) 2026-01-06 01:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538441120 ms) 2026-01-06 01:48:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:48:40.713151+00:00', 'runtime': '538440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538441121 ms) 2026-01-06 01:48:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:47:40.710741+00:00', 'runtime': '538380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538441121 ms) 2026-01-06 01:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538460090 ms) 2026-01-06 01:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538460091 ms) 2026-01-06 01:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:48:40.710796+00:00'} (T+538460094 ms) 2026-01-06 01:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538500083 ms) 2026-01-06 01:49:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538500084 ms) 2026-01-06 01:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538500084 ms) 2026-01-06 01:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538500085 ms) 2026-01-06 01:49:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538501113 ms) 2026-01-06 01:49:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538501114 ms) 2026-01-06 01:49:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:49:40.710716+00:00', 'runtime': '538500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538501115 ms) 2026-01-06 01:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:48:40.713151+00:00', 'runtime': '538440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538501116 ms) 2026-01-06 01:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538520090 ms) 2026-01-06 01:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538520091 ms) 2026-01-06 01:50:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:49:40.710834+00:00'} (T+538520093 ms) 2026-01-06 01:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538560083 ms) 2026-01-06 01:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538560083 ms) 2026-01-06 01:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538560083 ms) 2026-01-06 01:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538560084 ms) 2026-01-06 01:50:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538561119 ms) 2026-01-06 01:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538561119 ms) 2026-01-06 01:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:50:40.710745+00:00', 'runtime': '538560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538561120 ms) 2026-01-06 01:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:49:40.710716+00:00', 'runtime': '538500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538561120 ms) 2026-01-06 01:51:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538580092 ms) 2026-01-06 01:51:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538580093 ms) 2026-01-06 01:51:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:50:40.713232+00:00'} (T+538580096 ms) 2026-01-06 01:51:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538620076 ms) 2026-01-06 01:51:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538620076 ms) 2026-01-06 01:51:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538620077 ms) 2026-01-06 01:51:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538620077 ms) 2026-01-06 01:51:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538621114 ms) 2026-01-06 01:51:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538621115 ms) 2026-01-06 01:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:51:40.710736+00:00', 'runtime': '538620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538621117 ms) 2026-01-06 01:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:50:40.710745+00:00', 'runtime': '538560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538621118 ms) 2026-01-06 01:52:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538640089 ms) 2026-01-06 01:52:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538640090 ms) 2026-01-06 01:52:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:51:40.710813+00:00'} (T+538640093 ms) 2026-01-06 01:52:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538680084 ms) 2026-01-06 01:52:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538680085 ms) 2026-01-06 01:52:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538680085 ms) 2026-01-06 01:52:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538680086 ms) 2026-01-06 01:52:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538681119 ms) 2026-01-06 01:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538681120 ms) 2026-01-06 01:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:52:40.713165+00:00', 'runtime': '538680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538681121 ms) 2026-01-06 01:52:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:51:40.710736+00:00', 'runtime': '538620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538681122 ms) 2026-01-06 01:53:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538700090 ms) 2026-01-06 01:53:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538700090 ms) 2026-01-06 01:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:52:40.710835+00:00'} (T+538700091 ms) 2026-01-06 01:53:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538740083 ms) 2026-01-06 01:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538740083 ms) 2026-01-06 01:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538740084 ms) 2026-01-06 01:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538740084 ms) 2026-01-06 01:53:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538741117 ms) 2026-01-06 01:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538741118 ms) 2026-01-06 01:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:53:40.710736+00:00', 'runtime': '538740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538741119 ms) 2026-01-06 01:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:52:40.713165+00:00', 'runtime': '538680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538741119 ms) 2026-01-06 01:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538760087 ms) 2026-01-06 01:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538760088 ms) 2026-01-06 01:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:53:40.710865+00:00'} (T+538760091 ms) 2026-01-06 01:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538800083 ms) 2026-01-06 01:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538800083 ms) 2026-01-06 01:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538800083 ms) 2026-01-06 01:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538800084 ms) 2026-01-06 01:54:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538801119 ms) 2026-01-06 01:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538801120 ms) 2026-01-06 01:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:54:40.710740+00:00', 'runtime': '538800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538801121 ms) 2026-01-06 01:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:53:40.710736+00:00', 'runtime': '538740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538801121 ms) 2026-01-06 01:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538820090 ms) 2026-01-06 01:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538820091 ms) 2026-01-06 01:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:54:40.710845+00:00'} (T+538820094 ms) 2026-01-06 01:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538860083 ms) 2026-01-06 01:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538860083 ms) 2026-01-06 01:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538860083 ms) 2026-01-06 01:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538860084 ms) 2026-01-06 01:55:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538861117 ms) 2026-01-06 01:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538861117 ms) 2026-01-06 01:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:55:40.710712+00:00', 'runtime': '538860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538861118 ms) 2026-01-06 01:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:54:40.710740+00:00', 'runtime': '538800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538861120 ms) 2026-01-06 01:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538880087 ms) 2026-01-06 01:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538880088 ms) 2026-01-06 01:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:55:40.710845+00:00'} (T+538880091 ms) 2026-01-06 01:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538920082 ms) 2026-01-06 01:56:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538920083 ms) 2026-01-06 01:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538920083 ms) 2026-01-06 01:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538920083 ms) 2026-01-06 01:56:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538921111 ms) 2026-01-06 01:56:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538921112 ms) 2026-01-06 01:56:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:56:40.710747+00:00', 'runtime': '538920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538921113 ms) 2026-01-06 01:56:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:55:40.710712+00:00', 'runtime': '538860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538921113 ms) 2026-01-06 01:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538940090 ms) 2026-01-06 01:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+538940091 ms) 2026-01-06 01:57:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:56:40.710853+00:00'} (T+538940098 ms) 2026-01-06 01:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+538980082 ms) 2026-01-06 01:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+538980083 ms) 2026-01-06 01:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+538980083 ms) 2026-01-06 01:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+538980084 ms) 2026-01-06 01:57:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+538981118 ms) 2026-01-06 01:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+538981119 ms) 2026-01-06 01:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:57:40.710842+00:00', 'runtime': '538980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538981120 ms) 2026-01-06 01:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:56:40.710747+00:00', 'runtime': '538920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+538981121 ms) 2026-01-06 01:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539000091 ms) 2026-01-06 01:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539000092 ms) 2026-01-06 01:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:57:40.710872+00:00'} (T+539000095 ms) 2026-01-06 01:58:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539040077 ms) 2026-01-06 01:58:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539040077 ms) 2026-01-06 01:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539040077 ms) 2026-01-06 01:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539040078 ms) 2026-01-06 01:58:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539041112 ms) 2026-01-06 01:58:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539041113 ms) 2026-01-06 01:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:58:40.710744+00:00', 'runtime': '539040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539041115 ms) 2026-01-06 01:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:57:40.710842+00:00', 'runtime': '538980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539041116 ms) 2026-01-06 01:59:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539060088 ms) 2026-01-06 01:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539060089 ms) 2026-01-06 01:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:58:40.710878+00:00'} (T+539060092 ms) 2026-01-06 01:59:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539100085 ms) 2026-01-06 01:59:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539100086 ms) 2026-01-06 01:59:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539100086 ms) 2026-01-06 01:59:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539100086 ms) 2026-01-06 01:59:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539101118 ms) 2026-01-06 01:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539101119 ms) 2026-01-06 01:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 01:59:40.713163+00:00', 'runtime': '539100.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539101119 ms) 2026-01-06 01:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:58:40.710744+00:00', 'runtime': '539040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539101120 ms) 2026-01-06 02:00:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539120087 ms) 2026-01-06 02:00:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539120089 ms) 2026-01-06 02:00:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 01:59:40.710835+00:00'} (T+539120091 ms) 2026-01-06 02:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539160082 ms) 2026-01-06 02:00:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539160083 ms) 2026-01-06 02:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539160083 ms) 2026-01-06 02:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539160083 ms) 2026-01-06 02:00:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539161118 ms) 2026-01-06 02:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539161119 ms) 2026-01-06 02:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:00:40.710723+00:00', 'runtime': '539160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539161120 ms) 2026-01-06 02:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 01:59:40.713163+00:00', 'runtime': '539100.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539161120 ms) 2026-01-06 02:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539180090 ms) 2026-01-06 02:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539180091 ms) 2026-01-06 02:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:00:40.710859+00:00'} (T+539180094 ms) 2026-01-06 02:01:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539220079 ms) 2026-01-06 02:01:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539220080 ms) 2026-01-06 02:01:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539220080 ms) 2026-01-06 02:01:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539220080 ms) 2026-01-06 02:01:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539221115 ms) 2026-01-06 02:01:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539221116 ms) 2026-01-06 02:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:01:40.710753+00:00', 'runtime': '539220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539221118 ms) 2026-01-06 02:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:00:40.710723+00:00', 'runtime': '539160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539221119 ms) 2026-01-06 02:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539240090 ms) 2026-01-06 02:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539240091 ms) 2026-01-06 02:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:01:40.710839+00:00'} (T+539240094 ms) 2026-01-06 02:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539280082 ms) 2026-01-06 02:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539280083 ms) 2026-01-06 02:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539280083 ms) 2026-01-06 02:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539280084 ms) 2026-01-06 02:02:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539281118 ms) 2026-01-06 02:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539281119 ms) 2026-01-06 02:02:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:02:40.710726+00:00', 'runtime': '539280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539281121 ms) 2026-01-06 02:02:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:01:40.710753+00:00', 'runtime': '539220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539281122 ms) 2026-01-06 02:03:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539300087 ms) 2026-01-06 02:03:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539300087 ms) 2026-01-06 02:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:02:40.710852+00:00'} (T+539300089 ms) 2026-01-06 02:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539340083 ms) 2026-01-06 02:03:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539340084 ms) 2026-01-06 02:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539340084 ms) 2026-01-06 02:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539340085 ms) 2026-01-06 02:03:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539341118 ms) 2026-01-06 02:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539341118 ms) 2026-01-06 02:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:03:40.710714+00:00', 'runtime': '539340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539341119 ms) 2026-01-06 02:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:02:40.710726+00:00', 'runtime': '539280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539341120 ms) 2026-01-06 02:04:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539360088 ms) 2026-01-06 02:04:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539360090 ms) 2026-01-06 02:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:03:40.710851+00:00'} (T+539360092 ms) 2026-01-06 02:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539400083 ms) 2026-01-06 02:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539400084 ms) 2026-01-06 02:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539400084 ms) 2026-01-06 02:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539400084 ms) 2026-01-06 02:04:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539401118 ms) 2026-01-06 02:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539401119 ms) 2026-01-06 02:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:04:40.710745+00:00', 'runtime': '539400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539401120 ms) 2026-01-06 02:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:03:40.710714+00:00', 'runtime': '539340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539401120 ms) 2026-01-06 02:05:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539420092 ms) 2026-01-06 02:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539420093 ms) 2026-01-06 02:05:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:04:40.713221+00:00'} (T+539420096 ms) 2026-01-06 02:05:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539460082 ms) 2026-01-06 02:05:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539460083 ms) 2026-01-06 02:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539460083 ms) 2026-01-06 02:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539460083 ms) 2026-01-06 02:05:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539461116 ms) 2026-01-06 02:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539461117 ms) 2026-01-06 02:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:05:40.710714+00:00', 'runtime': '539460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539461119 ms) 2026-01-06 02:05:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:04:40.710745+00:00', 'runtime': '539400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539461120 ms) 2026-01-06 02:06:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539480091 ms) 2026-01-06 02:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539480092 ms) 2026-01-06 02:06:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:05:40.710843+00:00'} (T+539480095 ms) 2026-01-06 02:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539520083 ms) 2026-01-06 02:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539520083 ms) 2026-01-06 02:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539520083 ms) 2026-01-06 02:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539520084 ms) 2026-01-06 02:06:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539521122 ms) 2026-01-06 02:06:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539521123 ms) 2026-01-06 02:06:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:06:40.710753+00:00', 'runtime': '539520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539521125 ms) 2026-01-06 02:06:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:05:40.710714+00:00', 'runtime': '539460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539521126 ms) 2026-01-06 02:07:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539540093 ms) 2026-01-06 02:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539540094 ms) 2026-01-06 02:07:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:06:40.713220+00:00'} (T+539540097 ms) 2026-01-06 02:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539580083 ms) 2026-01-06 02:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539580083 ms) 2026-01-06 02:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539580083 ms) 2026-01-06 02:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539580084 ms) 2026-01-06 02:07:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539581116 ms) 2026-01-06 02:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539581117 ms) 2026-01-06 02:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:07:40.710724+00:00', 'runtime': '539580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539581118 ms) 2026-01-06 02:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:06:40.710753+00:00', 'runtime': '539520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539581118 ms) 2026-01-06 02:08:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539600089 ms) 2026-01-06 02:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539600089 ms) 2026-01-06 02:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:07:40.710844+00:00'} (T+539600091 ms) 2026-01-06 02:08:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539640053 ms) 2026-01-06 02:08:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539640054 ms) 2026-01-06 02:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539640054 ms) 2026-01-06 02:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539640054 ms) 2026-01-06 02:08:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539641080 ms) 2026-01-06 02:08:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539641081 ms) 2026-01-06 02:08:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:08:40.710519+00:00', 'runtime': '539640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539641082 ms) 2026-01-06 02:08:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:07:40.710724+00:00', 'runtime': '539580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539641082 ms) 2026-01-06 02:09:00.749 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539660070 ms) 2026-01-06 02:09:00.750 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539660071 ms) 2026-01-06 02:09:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:08:40.710612+00:00'} (T+539660072 ms) 2026-01-06 02:09:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539700083 ms) 2026-01-06 02:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539700083 ms) 2026-01-06 02:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539700083 ms) 2026-01-06 02:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539700084 ms) 2026-01-06 02:09:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539701116 ms) 2026-01-06 02:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539701117 ms) 2026-01-06 02:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:09:40.710771+00:00', 'runtime': '539700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539701118 ms) 2026-01-06 02:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:08:40.710519+00:00', 'runtime': '539640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539701118 ms) 2026-01-06 02:10:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539720091 ms) 2026-01-06 02:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539720092 ms) 2026-01-06 02:10:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:09:40.713231+00:00'} (T+539720095 ms) 2026-01-06 02:10:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539760082 ms) 2026-01-06 02:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539760083 ms) 2026-01-06 02:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539760083 ms) 2026-01-06 02:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539760084 ms) 2026-01-06 02:10:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539761119 ms) 2026-01-06 02:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539761119 ms) 2026-01-06 02:10:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:10:40.710729+00:00', 'runtime': '539760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539761120 ms) 2026-01-06 02:10:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:09:40.710771+00:00', 'runtime': '539700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539761121 ms) 2026-01-06 02:11:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539780092 ms) 2026-01-06 02:11:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539780093 ms) 2026-01-06 02:11:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:10:40.713242+00:00'} (T+539780096 ms) 2026-01-06 02:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539820083 ms) 2026-01-06 02:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539820084 ms) 2026-01-06 02:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539820084 ms) 2026-01-06 02:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539820084 ms) 2026-01-06 02:11:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539821118 ms) 2026-01-06 02:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539821119 ms) 2026-01-06 02:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:11:40.710738+00:00', 'runtime': '539820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539821120 ms) 2026-01-06 02:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:10:40.710729+00:00', 'runtime': '539760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539821120 ms) 2026-01-06 02:12:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539840092 ms) 2026-01-06 02:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539840093 ms) 2026-01-06 02:12:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:11:40.713239+00:00'} (T+539840096 ms) 2026-01-06 02:12:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539880084 ms) 2026-01-06 02:12:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539880084 ms) 2026-01-06 02:12:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539880085 ms) 2026-01-06 02:12:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539880085 ms) 2026-01-06 02:12:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539881117 ms) 2026-01-06 02:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539881118 ms) 2026-01-06 02:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:12:40.710780+00:00', 'runtime': '539880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539881119 ms) 2026-01-06 02:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:11:40.710738+00:00', 'runtime': '539820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539881119 ms) 2026-01-06 02:13:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539900087 ms) 2026-01-06 02:13:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539900088 ms) 2026-01-06 02:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:12:40.710864+00:00'} (T+539900091 ms) 2026-01-06 02:13:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+539940076 ms) 2026-01-06 02:13:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+539940077 ms) 2026-01-06 02:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+539940077 ms) 2026-01-06 02:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+539940077 ms) 2026-01-06 02:13:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+539941112 ms) 2026-01-06 02:13:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+539941113 ms) 2026-01-06 02:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:13:40.710742+00:00', 'runtime': '539940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539941116 ms) 2026-01-06 02:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:12:40.710780+00:00', 'runtime': '539880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+539941116 ms) 2026-01-06 02:14:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539960084 ms) 2026-01-06 02:14:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+539960085 ms) 2026-01-06 02:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:13:40.710865+00:00'} (T+539960088 ms) 2026-01-06 02:14:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540000077 ms) 2026-01-06 02:14:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540000078 ms) 2026-01-06 02:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540000078 ms) 2026-01-06 02:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540000078 ms) 2026-01-06 02:14:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540001112 ms) 2026-01-06 02:14:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540001113 ms) 2026-01-06 02:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:14:40.710725+00:00', 'runtime': '540000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540001116 ms) 2026-01-06 02:14:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:13:40.710742+00:00', 'runtime': '539940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540001116 ms) 2026-01-06 02:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540020090 ms) 2026-01-06 02:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540020091 ms) 2026-01-06 02:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:14:40.710846+00:00'} (T+540020094 ms) 2026-01-06 02:15:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540060076 ms) 2026-01-06 02:15:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540060077 ms) 2026-01-06 02:15:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540060077 ms) 2026-01-06 02:15:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540060077 ms) 2026-01-06 02:15:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540061114 ms) 2026-01-06 02:15:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540061115 ms) 2026-01-06 02:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:15:40.710722+00:00', 'runtime': '540060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540061117 ms) 2026-01-06 02:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:14:40.710725+00:00', 'runtime': '540000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540061118 ms) 2026-01-06 02:16:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540080087 ms) 2026-01-06 02:16:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540080088 ms) 2026-01-06 02:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:15:40.710831+00:00'} (T+540080091 ms) 2026-01-06 02:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540120082 ms) 2026-01-06 02:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540120083 ms) 2026-01-06 02:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540120083 ms) 2026-01-06 02:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540120084 ms) 2026-01-06 02:16:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540121119 ms) 2026-01-06 02:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540121119 ms) 2026-01-06 02:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:16:40.710704+00:00', 'runtime': '540120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540121120 ms) 2026-01-06 02:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:15:40.710722+00:00', 'runtime': '540060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540121120 ms) 2026-01-06 02:17:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540140088 ms) 2026-01-06 02:17:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540140089 ms) 2026-01-06 02:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:16:40.710851+00:00'} (T+540140092 ms) 2026-01-06 02:17:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540180077 ms) 2026-01-06 02:17:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540180077 ms) 2026-01-06 02:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540180077 ms) 2026-01-06 02:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540180077 ms) 2026-01-06 02:17:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540181113 ms) 2026-01-06 02:17:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540181114 ms) 2026-01-06 02:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:17:40.710709+00:00', 'runtime': '540180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540181116 ms) 2026-01-06 02:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:16:40.710704+00:00', 'runtime': '540120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540181117 ms) 2026-01-06 02:18:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540200088 ms) 2026-01-06 02:18:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540200089 ms) 2026-01-06 02:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:17:40.710835+00:00'} (T+540200092 ms) 2026-01-06 02:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540240083 ms) 2026-01-06 02:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540240083 ms) 2026-01-06 02:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540240084 ms) 2026-01-06 02:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540240084 ms) 2026-01-06 02:18:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540241119 ms) 2026-01-06 02:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540241119 ms) 2026-01-06 02:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:18:40.710725+00:00', 'runtime': '540240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540241120 ms) 2026-01-06 02:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:17:40.710709+00:00', 'runtime': '540180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540241120 ms) 2026-01-06 02:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540260090 ms) 2026-01-06 02:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540260091 ms) 2026-01-06 02:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:18:40.710859+00:00'} (T+540260093 ms) 2026-01-06 02:19:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540300076 ms) 2026-01-06 02:19:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540300077 ms) 2026-01-06 02:19:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540300077 ms) 2026-01-06 02:19:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540300077 ms) 2026-01-06 02:19:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540301113 ms) 2026-01-06 02:19:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540301114 ms) 2026-01-06 02:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:19:40.710753+00:00', 'runtime': '540300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540301116 ms) 2026-01-06 02:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:18:40.710725+00:00', 'runtime': '540240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540301117 ms) 2026-01-06 02:20:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540320086 ms) 2026-01-06 02:20:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540320087 ms) 2026-01-06 02:20:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:19:40.710856+00:00'} (T+540320090 ms) 2026-01-06 02:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540360082 ms) 2026-01-06 02:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540360083 ms) 2026-01-06 02:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540360083 ms) 2026-01-06 02:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540360084 ms) 2026-01-06 02:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540361119 ms) 2026-01-06 02:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540361120 ms) 2026-01-06 02:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:20:40.710742+00:00', 'runtime': '540360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540361121 ms) 2026-01-06 02:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:19:40.710753+00:00', 'runtime': '540300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540361121 ms) 2026-01-06 02:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540380090 ms) 2026-01-06 02:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540380091 ms) 2026-01-06 02:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:20:40.710835+00:00'} (T+540380094 ms) 2026-01-06 02:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540420082 ms) 2026-01-06 02:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540420083 ms) 2026-01-06 02:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540420083 ms) 2026-01-06 02:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540420083 ms) 2026-01-06 02:21:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540421116 ms) 2026-01-06 02:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540421117 ms) 2026-01-06 02:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:21:40.710701+00:00', 'runtime': '540420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540421118 ms) 2026-01-06 02:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:20:40.710742+00:00', 'runtime': '540360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540421119 ms) 2026-01-06 02:22:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540440087 ms) 2026-01-06 02:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540440088 ms) 2026-01-06 02:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:21:40.710859+00:00'} (T+540440091 ms) 2026-01-06 02:22:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540480077 ms) 2026-01-06 02:22:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540480077 ms) 2026-01-06 02:22:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540480078 ms) 2026-01-06 02:22:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540480078 ms) 2026-01-06 02:22:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540481112 ms) 2026-01-06 02:22:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540481113 ms) 2026-01-06 02:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:22:40.710717+00:00', 'runtime': '540480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540481114 ms) 2026-01-06 02:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:21:40.710701+00:00', 'runtime': '540420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540481115 ms) 2026-01-06 02:23:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540500085 ms) 2026-01-06 02:23:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540500086 ms) 2026-01-06 02:23:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:22:40.710864+00:00'} (T+540500087 ms) 2026-01-06 02:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540540082 ms) 2026-01-06 02:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540540083 ms) 2026-01-06 02:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540540083 ms) 2026-01-06 02:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540540084 ms) 2026-01-06 02:23:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540541117 ms) 2026-01-06 02:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540541117 ms) 2026-01-06 02:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:23:40.710745+00:00', 'runtime': '540540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540541118 ms) 2026-01-06 02:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:22:40.710717+00:00', 'runtime': '540480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540541120 ms) 2026-01-06 02:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540560090 ms) 2026-01-06 02:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540560091 ms) 2026-01-06 02:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:23:40.710876+00:00'} (T+540560094 ms) 2026-01-06 02:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540600083 ms) 2026-01-06 02:24:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540600084 ms) 2026-01-06 02:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540600084 ms) 2026-01-06 02:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540600085 ms) 2026-01-06 02:24:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540601113 ms) 2026-01-06 02:24:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540601113 ms) 2026-01-06 02:24:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:24:40.710746+00:00', 'runtime': '540600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540601114 ms) 2026-01-06 02:24:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:23:40.710745+00:00', 'runtime': '540540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540601114 ms) 2026-01-06 02:25:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540620092 ms) 2026-01-06 02:25:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540620094 ms) 2026-01-06 02:25:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:24:40.713243+00:00'} (T+540620096 ms) 2026-01-06 02:25:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540660078 ms) 2026-01-06 02:25:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540660078 ms) 2026-01-06 02:25:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540660078 ms) 2026-01-06 02:25:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540660079 ms) 2026-01-06 02:25:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540661118 ms) 2026-01-06 02:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540661119 ms) 2026-01-06 02:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:25:40.710757+00:00', 'runtime': '540660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540661121 ms) 2026-01-06 02:25:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:24:40.710746+00:00', 'runtime': '540600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540661122 ms) 2026-01-06 02:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540680087 ms) 2026-01-06 02:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540680088 ms) 2026-01-06 02:26:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:25:40.710846+00:00'} (T+540680090 ms) 2026-01-06 02:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540720082 ms) 2026-01-06 02:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540720083 ms) 2026-01-06 02:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540720083 ms) 2026-01-06 02:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540720084 ms) 2026-01-06 02:26:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540721115 ms) 2026-01-06 02:26:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540721116 ms) 2026-01-06 02:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:26:40.710694+00:00', 'runtime': '540720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540721117 ms) 2026-01-06 02:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:25:40.710757+00:00', 'runtime': '540660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540721117 ms) 2026-01-06 02:27:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540740088 ms) 2026-01-06 02:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540740090 ms) 2026-01-06 02:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:26:40.710866+00:00'} (T+540740092 ms) 2026-01-06 02:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540780082 ms) 2026-01-06 02:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540780083 ms) 2026-01-06 02:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540780083 ms) 2026-01-06 02:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540780084 ms) 2026-01-06 02:27:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540781116 ms) 2026-01-06 02:27:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540781116 ms) 2026-01-06 02:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:27:40.710742+00:00', 'runtime': '540780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540781117 ms) 2026-01-06 02:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:26:40.710694+00:00', 'runtime': '540720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540781118 ms) 2026-01-06 02:28:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540800089 ms) 2026-01-06 02:28:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540800089 ms) 2026-01-06 02:28:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:27:40.710856+00:00'} (T+540800090 ms) 2026-01-06 02:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540840083 ms) 2026-01-06 02:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540840083 ms) 2026-01-06 02:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540840084 ms) 2026-01-06 02:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540840084 ms) 2026-01-06 02:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540841119 ms) 2026-01-06 02:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540841119 ms) 2026-01-06 02:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:28:40.710749+00:00', 'runtime': '540840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540841120 ms) 2026-01-06 02:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:27:40.710742+00:00', 'runtime': '540780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540841121 ms) 2026-01-06 02:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540860090 ms) 2026-01-06 02:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540860092 ms) 2026-01-06 02:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:28:40.710863+00:00'} (T+540860094 ms) 2026-01-06 02:29:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540900079 ms) 2026-01-06 02:29:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540900080 ms) 2026-01-06 02:29:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540900080 ms) 2026-01-06 02:29:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540900080 ms) 2026-01-06 02:29:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540901114 ms) 2026-01-06 02:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540901115 ms) 2026-01-06 02:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:29:40.710739+00:00', 'runtime': '540900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540901117 ms) 2026-01-06 02:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:28:40.710749+00:00', 'runtime': '540840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540901118 ms) 2026-01-06 02:30:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540920087 ms) 2026-01-06 02:30:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540920088 ms) 2026-01-06 02:30:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:29:40.710854+00:00'} (T+540920090 ms) 2026-01-06 02:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+540960083 ms) 2026-01-06 02:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+540960083 ms) 2026-01-06 02:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+540960084 ms) 2026-01-06 02:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+540960084 ms) 2026-01-06 02:30:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+540961120 ms) 2026-01-06 02:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+540961121 ms) 2026-01-06 02:30:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:30:40.710728+00:00', 'runtime': '540960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540961123 ms) 2026-01-06 02:30:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:29:40.710739+00:00', 'runtime': '540900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+540961124 ms) 2026-01-06 02:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540980090 ms) 2026-01-06 02:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+540980091 ms) 2026-01-06 02:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:30:40.710865+00:00'} (T+540980094 ms) 2026-01-06 02:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541020083 ms) 2026-01-06 02:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541020083 ms) 2026-01-06 02:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541020084 ms) 2026-01-06 02:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541020084 ms) 2026-01-06 02:31:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541021117 ms) 2026-01-06 02:31:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541021117 ms) 2026-01-06 02:31:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:31:40.710712+00:00', 'runtime': '541020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541021118 ms) 2026-01-06 02:31:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:30:40.710728+00:00', 'runtime': '540960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541021119 ms) 2026-01-06 02:32:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541040087 ms) 2026-01-06 02:32:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541040088 ms) 2026-01-06 02:32:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:31:40.710845+00:00'} (T+541040090 ms) 2026-01-06 02:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541080083 ms) 2026-01-06 02:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541080084 ms) 2026-01-06 02:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541080084 ms) 2026-01-06 02:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541080084 ms) 2026-01-06 02:32:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541081119 ms) 2026-01-06 02:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541081119 ms) 2026-01-06 02:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:32:40.710752+00:00', 'runtime': '541080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541081120 ms) 2026-01-06 02:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:31:40.710712+00:00', 'runtime': '541020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541081120 ms) 2026-01-06 02:33:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541100091 ms) 2026-01-06 02:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541100091 ms) 2026-01-06 02:33:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:32:40.713237+00:00'} (T+541100092 ms) 2026-01-06 02:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541140083 ms) 2026-01-06 02:33:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541140084 ms) 2026-01-06 02:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541140084 ms) 2026-01-06 02:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541140084 ms) 2026-01-06 02:33:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541141122 ms) 2026-01-06 02:33:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541141123 ms) 2026-01-06 02:33:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:33:40.710793+00:00', 'runtime': '541140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541141125 ms) 2026-01-06 02:33:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:32:40.710752+00:00', 'runtime': '541080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541141125 ms) 2026-01-06 02:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541160087 ms) 2026-01-06 02:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541160088 ms) 2026-01-06 02:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:33:40.710894+00:00'} (T+541160091 ms) 2026-01-06 02:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541200082 ms) 2026-01-06 02:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541200083 ms) 2026-01-06 02:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541200083 ms) 2026-01-06 02:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541200084 ms) 2026-01-06 02:34:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541201114 ms) 2026-01-06 02:34:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541201114 ms) 2026-01-06 02:34:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:34:40.710707+00:00', 'runtime': '541200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541201115 ms) 2026-01-06 02:34:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:33:40.710793+00:00', 'runtime': '541140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541201115 ms) 2026-01-06 02:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541220090 ms) 2026-01-06 02:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541220091 ms) 2026-01-06 02:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:34:40.710859+00:00'} (T+541220094 ms) 2026-01-06 02:35:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541260054 ms) 2026-01-06 02:35:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541260054 ms) 2026-01-06 02:35:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541260054 ms) 2026-01-06 02:35:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541260054 ms) 2026-01-06 02:35:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541261080 ms) 2026-01-06 02:35:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541261080 ms) 2026-01-06 02:35:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:35:40.710539+00:00', 'runtime': '541260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541261081 ms) 2026-01-06 02:35:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:34:40.710707+00:00', 'runtime': '541200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541261082 ms) 2026-01-06 02:36:00.753 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541280074 ms) 2026-01-06 02:36:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541280075 ms) 2026-01-06 02:36:00.756 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:35:40.712956+00:00'} (T+541280077 ms) 2026-01-06 02:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541320082 ms) 2026-01-06 02:36:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541320082 ms) 2026-01-06 02:36:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541320083 ms) 2026-01-06 02:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541320083 ms) 2026-01-06 02:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541321116 ms) 2026-01-06 02:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541321117 ms) 2026-01-06 02:36:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:36:40.710762+00:00', 'runtime': '541320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541321119 ms) 2026-01-06 02:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:35:40.710539+00:00', 'runtime': '541260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541321120 ms) 2026-01-06 02:37:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541340092 ms) 2026-01-06 02:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541340093 ms) 2026-01-06 02:37:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:36:40.713228+00:00'} (T+541340096 ms) 2026-01-06 02:37:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541380077 ms) 2026-01-06 02:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541380078 ms) 2026-01-06 02:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541380078 ms) 2026-01-06 02:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541380078 ms) 2026-01-06 02:37:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541381114 ms) 2026-01-06 02:37:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541381115 ms) 2026-01-06 02:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:37:40.710727+00:00', 'runtime': '541380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541381117 ms) 2026-01-06 02:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:36:40.710762+00:00', 'runtime': '541320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541381118 ms) 2026-01-06 02:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541400087 ms) 2026-01-06 02:38:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541400088 ms) 2026-01-06 02:38:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:37:40.710846+00:00'} (T+541400089 ms) 2026-01-06 02:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541440083 ms) 2026-01-06 02:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541440083 ms) 2026-01-06 02:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541440084 ms) 2026-01-06 02:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541440084 ms) 2026-01-06 02:38:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541441118 ms) 2026-01-06 02:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541441119 ms) 2026-01-06 02:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:38:40.710702+00:00', 'runtime': '541440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541441120 ms) 2026-01-06 02:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:37:40.710727+00:00', 'runtime': '541380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541441120 ms) 2026-01-06 02:39:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541460092 ms) 2026-01-06 02:39:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541460093 ms) 2026-01-06 02:39:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:38:40.713235+00:00'} (T+541460096 ms) 2026-01-06 02:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541500082 ms) 2026-01-06 02:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541500083 ms) 2026-01-06 02:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541500083 ms) 2026-01-06 02:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541500083 ms) 2026-01-06 02:39:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541501121 ms) 2026-01-06 02:39:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541501122 ms) 2026-01-06 02:39:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:39:40.710723+00:00', 'runtime': '541500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541501124 ms) 2026-01-06 02:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:38:40.710702+00:00', 'runtime': '541440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541501125 ms) 2026-01-06 02:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541520087 ms) 2026-01-06 02:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541520088 ms) 2026-01-06 02:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:39:40.710858+00:00'} (T+541520091 ms) 2026-01-06 02:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541560083 ms) 2026-01-06 02:40:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541560084 ms) 2026-01-06 02:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541560084 ms) 2026-01-06 02:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541560085 ms) 2026-01-06 02:40:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541561124 ms) 2026-01-06 02:40:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541561125 ms) 2026-01-06 02:40:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:40:40.710714+00:00', 'runtime': '541560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541561127 ms) 2026-01-06 02:40:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:39:40.710723+00:00', 'runtime': '541500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541561128 ms) 2026-01-06 02:41:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541580091 ms) 2026-01-06 02:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541580092 ms) 2026-01-06 02:41:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:40:40.710836+00:00'} (T+541580095 ms) 2026-01-06 02:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541620082 ms) 2026-01-06 02:41:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541620083 ms) 2026-01-06 02:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541620083 ms) 2026-01-06 02:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541620083 ms) 2026-01-06 02:41:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541621115 ms) 2026-01-06 02:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541621116 ms) 2026-01-06 02:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:41:40.710703+00:00', 'runtime': '541620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541621117 ms) 2026-01-06 02:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:40:40.710714+00:00', 'runtime': '541560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541621117 ms) 2026-01-06 02:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541640088 ms) 2026-01-06 02:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541640089 ms) 2026-01-06 02:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:41:40.710844+00:00'} (T+541640091 ms) 2026-01-06 02:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541680083 ms) 2026-01-06 02:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541680084 ms) 2026-01-06 02:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541680084 ms) 2026-01-06 02:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541680085 ms) 2026-01-06 02:42:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541681122 ms) 2026-01-06 02:42:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541681123 ms) 2026-01-06 02:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:42:40.710764+00:00', 'runtime': '541680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541681126 ms) 2026-01-06 02:42:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:41:40.710703+00:00', 'runtime': '541620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541681127 ms) 2026-01-06 02:43:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541700087 ms) 2026-01-06 02:43:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541700087 ms) 2026-01-06 02:43:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:42:40.710855+00:00'} (T+541700088 ms) 2026-01-06 02:43:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541740083 ms) 2026-01-06 02:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541740083 ms) 2026-01-06 02:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541740084 ms) 2026-01-06 02:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541740084 ms) 2026-01-06 02:43:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541741115 ms) 2026-01-06 02:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541741116 ms) 2026-01-06 02:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:43:40.710705+00:00', 'runtime': '541740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541741118 ms) 2026-01-06 02:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:42:40.710764+00:00', 'runtime': '541680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541741118 ms) 2026-01-06 02:44:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541760088 ms) 2026-01-06 02:44:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541760089 ms) 2026-01-06 02:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:43:40.710865+00:00'} (T+541760092 ms) 2026-01-06 02:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541800083 ms) 2026-01-06 02:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541800083 ms) 2026-01-06 02:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541800084 ms) 2026-01-06 02:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541800084 ms) 2026-01-06 02:44:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541801112 ms) 2026-01-06 02:44:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541801113 ms) 2026-01-06 02:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:44:40.710715+00:00', 'runtime': '541800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541801114 ms) 2026-01-06 02:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:43:40.710705+00:00', 'runtime': '541740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541801114 ms) 2026-01-06 02:45:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541820088 ms) 2026-01-06 02:45:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541820089 ms) 2026-01-06 02:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:44:40.710861+00:00'} (T+541820092 ms) 2026-01-06 02:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541860082 ms) 2026-01-06 02:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541860083 ms) 2026-01-06 02:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541860083 ms) 2026-01-06 02:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541860084 ms) 2026-01-06 02:45:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541861120 ms) 2026-01-06 02:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541861120 ms) 2026-01-06 02:45:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:45:40.710748+00:00', 'runtime': '541860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541861121 ms) 2026-01-06 02:45:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:44:40.710715+00:00', 'runtime': '541800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541861121 ms) 2026-01-06 02:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541880091 ms) 2026-01-06 02:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541880092 ms) 2026-01-06 02:46:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:45:40.710822+00:00'} (T+541880095 ms) 2026-01-06 02:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541920083 ms) 2026-01-06 02:46:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541920084 ms) 2026-01-06 02:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541920084 ms) 2026-01-06 02:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541920085 ms) 2026-01-06 02:46:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541921118 ms) 2026-01-06 02:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541921119 ms) 2026-01-06 02:46:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:46:40.710733+00:00', 'runtime': '541920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541921121 ms) 2026-01-06 02:46:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:45:40.710748+00:00', 'runtime': '541860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541921122 ms) 2026-01-06 02:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541940090 ms) 2026-01-06 02:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+541940091 ms) 2026-01-06 02:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:46:40.710868+00:00'} (T+541940094 ms) 2026-01-06 02:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+541980082 ms) 2026-01-06 02:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+541980083 ms) 2026-01-06 02:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+541980083 ms) 2026-01-06 02:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+541980084 ms) 2026-01-06 02:47:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+541981120 ms) 2026-01-06 02:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+541981121 ms) 2026-01-06 02:47:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:47:40.710751+00:00', 'runtime': '541980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541981123 ms) 2026-01-06 02:47:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:46:40.710733+00:00', 'runtime': '541920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+541981124 ms) 2026-01-06 02:48:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542000089 ms) 2026-01-06 02:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542000090 ms) 2026-01-06 02:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:47:40.710858+00:00'} (T+542000091 ms) 2026-01-06 02:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542040083 ms) 2026-01-06 02:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542040083 ms) 2026-01-06 02:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542040084 ms) 2026-01-06 02:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542040084 ms) 2026-01-06 02:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542041119 ms) 2026-01-06 02:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542041120 ms) 2026-01-06 02:48:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:48:40.710710+00:00', 'runtime': '542040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542041122 ms) 2026-01-06 02:48:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:47:40.710751+00:00', 'runtime': '541980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542041123 ms) 2026-01-06 02:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542060090 ms) 2026-01-06 02:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542060091 ms) 2026-01-06 02:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:48:40.710876+00:00'} (T+542060094 ms) 2026-01-06 02:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542100083 ms) 2026-01-06 02:49:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542100084 ms) 2026-01-06 02:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542100084 ms) 2026-01-06 02:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542100084 ms) 2026-01-06 02:49:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542101122 ms) 2026-01-06 02:49:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542101123 ms) 2026-01-06 02:49:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:49:40.710762+00:00', 'runtime': '542100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542101125 ms) 2026-01-06 02:49:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:48:40.710710+00:00', 'runtime': '542040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542101126 ms) 2026-01-06 02:50:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542120092 ms) 2026-01-06 02:50:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542120093 ms) 2026-01-06 02:50:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:49:40.713236+00:00'} (T+542120096 ms) 2026-01-06 02:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542160082 ms) 2026-01-06 02:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542160083 ms) 2026-01-06 02:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542160083 ms) 2026-01-06 02:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542160084 ms) 2026-01-06 02:50:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542161116 ms) 2026-01-06 02:50:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542161116 ms) 2026-01-06 02:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:50:40.710705+00:00', 'runtime': '542160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542161117 ms) 2026-01-06 02:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:49:40.710762+00:00', 'runtime': '542100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542161118 ms) 2026-01-06 02:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542180090 ms) 2026-01-06 02:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542180091 ms) 2026-01-06 02:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:50:40.710827+00:00'} (T+542180094 ms) 2026-01-06 02:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542220083 ms) 2026-01-06 02:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542220084 ms) 2026-01-06 02:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542220084 ms) 2026-01-06 02:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542220085 ms) 2026-01-06 02:51:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542221122 ms) 2026-01-06 02:51:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542221123 ms) 2026-01-06 02:51:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:51:40.710722+00:00', 'runtime': '542220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542221126 ms) 2026-01-06 02:51:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:50:40.710705+00:00', 'runtime': '542160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542221127 ms) 2026-01-06 02:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542240090 ms) 2026-01-06 02:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542240091 ms) 2026-01-06 02:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:51:40.710842+00:00'} (T+542240094 ms) 2026-01-06 02:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542280082 ms) 2026-01-06 02:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542280083 ms) 2026-01-06 02:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542280083 ms) 2026-01-06 02:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542280084 ms) 2026-01-06 02:52:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542281119 ms) 2026-01-06 02:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542281119 ms) 2026-01-06 02:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:52:40.710737+00:00', 'runtime': '542280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542281120 ms) 2026-01-06 02:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:51:40.710722+00:00', 'runtime': '542220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542281120 ms) 2026-01-06 02:53:00.774 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542300095 ms) 2026-01-06 02:53:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542300097 ms) 2026-01-06 02:53:00.778 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:52:40.713236+00:00'} (T+542300099 ms) 2026-01-06 02:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542340082 ms) 2026-01-06 02:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542340083 ms) 2026-01-06 02:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542340083 ms) 2026-01-06 02:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542340084 ms) 2026-01-06 02:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542341118 ms) 2026-01-06 02:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542341118 ms) 2026-01-06 02:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:53:40.710767+00:00', 'runtime': '542340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542341119 ms) 2026-01-06 02:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:52:40.710737+00:00', 'runtime': '542280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542341120 ms) 2026-01-06 02:54:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542360090 ms) 2026-01-06 02:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542360091 ms) 2026-01-06 02:54:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:53:40.710822+00:00'} (T+542360094 ms) 2026-01-06 02:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542400083 ms) 2026-01-06 02:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542400083 ms) 2026-01-06 02:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542400083 ms) 2026-01-06 02:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542400084 ms) 2026-01-06 02:54:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542401118 ms) 2026-01-06 02:54:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542401119 ms) 2026-01-06 02:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:54:40.710773+00:00', 'runtime': '542400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542401120 ms) 2026-01-06 02:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:53:40.710767+00:00', 'runtime': '542340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542401120 ms) 2026-01-06 02:55:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542420083 ms) 2026-01-06 02:55:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542420084 ms) 2026-01-06 02:55:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:54:40.710836+00:00'} (T+542420086 ms) 2026-01-06 02:55:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542460080 ms) 2026-01-06 02:55:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542460080 ms) 2026-01-06 02:55:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542460080 ms) 2026-01-06 02:55:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542460081 ms) 2026-01-06 02:55:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542461114 ms) 2026-01-06 02:55:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542461115 ms) 2026-01-06 02:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:55:40.713162+00:00', 'runtime': '542460.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542461116 ms) 2026-01-06 02:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:54:40.710773+00:00', 'runtime': '542400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542461117 ms) 2026-01-06 02:56:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542480090 ms) 2026-01-06 02:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542480092 ms) 2026-01-06 02:56:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:55:40.710801+00:00'} (T+542480095 ms) 2026-01-06 02:56:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542520085 ms) 2026-01-06 02:56:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542520086 ms) 2026-01-06 02:56:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542520086 ms) 2026-01-06 02:56:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542520086 ms) 2026-01-06 02:56:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542521119 ms) 2026-01-06 02:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542521120 ms) 2026-01-06 02:56:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:56:40.713156+00:00', 'runtime': '542520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542521121 ms) 2026-01-06 02:56:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:55:40.713162+00:00', 'runtime': '542460.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542521121 ms) 2026-01-06 02:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542540090 ms) 2026-01-06 02:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542540091 ms) 2026-01-06 02:57:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:56:40.710813+00:00'} (T+542540093 ms) 2026-01-06 02:57:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542580085 ms) 2026-01-06 02:57:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542580085 ms) 2026-01-06 02:57:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542580085 ms) 2026-01-06 02:57:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542580086 ms) 2026-01-06 02:57:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542581120 ms) 2026-01-06 02:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542581120 ms) 2026-01-06 02:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:57:40.713172+00:00', 'runtime': '542580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542581121 ms) 2026-01-06 02:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:56:40.713156+00:00', 'runtime': '542520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542581121 ms) 2026-01-06 02:58:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542600087 ms) 2026-01-06 02:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542600088 ms) 2026-01-06 02:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:57:40.710816+00:00'} (T+542600091 ms) 2026-01-06 02:58:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542640079 ms) 2026-01-06 02:58:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542640079 ms) 2026-01-06 02:58:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542640079 ms) 2026-01-06 02:58:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542640080 ms) 2026-01-06 02:58:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542641116 ms) 2026-01-06 02:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542641117 ms) 2026-01-06 02:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:58:40.710730+00:00', 'runtime': '542640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542641119 ms) 2026-01-06 02:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:57:40.713172+00:00', 'runtime': '542580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542641120 ms) 2026-01-06 02:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542660091 ms) 2026-01-06 02:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542660092 ms) 2026-01-06 02:59:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:58:40.710827+00:00'} (T+542660095 ms) 2026-01-06 02:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542700083 ms) 2026-01-06 02:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542700084 ms) 2026-01-06 02:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542700084 ms) 2026-01-06 02:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542700084 ms) 2026-01-06 02:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542701117 ms) 2026-01-06 02:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542701117 ms) 2026-01-06 02:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 02:59:40.710717+00:00', 'runtime': '542700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542701118 ms) 2026-01-06 02:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:58:40.710730+00:00', 'runtime': '542640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542701119 ms) 2026-01-06 03:00:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542720092 ms) 2026-01-06 03:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542720093 ms) 2026-01-06 03:00:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 02:59:40.713237+00:00'} (T+542720096 ms) 2026-01-06 03:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542760082 ms) 2026-01-06 03:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542760083 ms) 2026-01-06 03:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542760083 ms) 2026-01-06 03:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542760084 ms) 2026-01-06 03:00:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542761113 ms) 2026-01-06 03:00:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542761113 ms) 2026-01-06 03:00:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:00:40.710720+00:00', 'runtime': '542760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542761114 ms) 2026-01-06 03:00:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 02:59:40.710717+00:00', 'runtime': '542700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542761115 ms) 2026-01-06 03:01:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542780091 ms) 2026-01-06 03:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542780092 ms) 2026-01-06 03:01:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:00:40.710860+00:00'} (T+542780095 ms) 2026-01-06 03:01:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542820077 ms) 2026-01-06 03:01:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542820077 ms) 2026-01-06 03:01:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542820077 ms) 2026-01-06 03:01:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542820078 ms) 2026-01-06 03:01:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542821113 ms) 2026-01-06 03:01:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542821114 ms) 2026-01-06 03:01:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:01:40.710747+00:00', 'runtime': '542820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542821116 ms) 2026-01-06 03:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:00:40.710720+00:00', 'runtime': '542760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542821117 ms) 2026-01-06 03:02:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542840083 ms) 2026-01-06 03:02:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542840084 ms) 2026-01-06 03:02:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:01:40.710856+00:00'} (T+542840087 ms) 2026-01-06 03:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542880083 ms) 2026-01-06 03:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542880083 ms) 2026-01-06 03:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542880084 ms) 2026-01-06 03:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542880084 ms) 2026-01-06 03:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542881116 ms) 2026-01-06 03:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542881117 ms) 2026-01-06 03:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:02:40.710738+00:00', 'runtime': '542880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542881118 ms) 2026-01-06 03:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:01:40.710747+00:00', 'runtime': '542820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542881118 ms) 2026-01-06 03:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542900088 ms) 2026-01-06 03:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542900089 ms) 2026-01-06 03:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:02:40.710862+00:00'} (T+542900092 ms) 2026-01-06 03:03:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+542940077 ms) 2026-01-06 03:03:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+542940078 ms) 2026-01-06 03:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+542940078 ms) 2026-01-06 03:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+542940079 ms) 2026-01-06 03:03:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+542941115 ms) 2026-01-06 03:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+542941115 ms) 2026-01-06 03:03:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:03:40.710721+00:00', 'runtime': '542940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542941117 ms) 2026-01-06 03:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:02:40.710738+00:00', 'runtime': '542880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+542941118 ms) 2026-01-06 03:04:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542960087 ms) 2026-01-06 03:04:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+542960088 ms) 2026-01-06 03:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:03:40.713237+00:00'} (T+542960091 ms) 2026-01-06 03:04:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543000079 ms) 2026-01-06 03:04:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543000079 ms) 2026-01-06 03:04:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543000079 ms) 2026-01-06 03:04:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543000080 ms) 2026-01-06 03:04:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543001113 ms) 2026-01-06 03:04:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543001114 ms) 2026-01-06 03:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:04:40.710687+00:00', 'runtime': '543000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543001116 ms) 2026-01-06 03:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:03:40.710721+00:00', 'runtime': '542940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543001117 ms) 2026-01-06 03:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543020090 ms) 2026-01-06 03:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543020091 ms) 2026-01-06 03:05:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:04:40.710848+00:00'} (T+543020093 ms) 2026-01-06 03:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543060084 ms) 2026-01-06 03:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543060084 ms) 2026-01-06 03:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543060084 ms) 2026-01-06 03:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543060085 ms) 2026-01-06 03:05:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543061117 ms) 2026-01-06 03:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543061118 ms) 2026-01-06 03:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:05:40.710648+00:00', 'runtime': '543060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543061119 ms) 2026-01-06 03:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:04:40.710687+00:00', 'runtime': '543000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543061119 ms) 2026-01-06 03:06:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543080092 ms) 2026-01-06 03:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543080093 ms) 2026-01-06 03:06:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:05:40.713232+00:00'} (T+543080096 ms) 2026-01-06 03:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543120082 ms) 2026-01-06 03:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543120083 ms) 2026-01-06 03:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543120083 ms) 2026-01-06 03:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543120084 ms) 2026-01-06 03:06:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543121112 ms) 2026-01-06 03:06:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543121112 ms) 2026-01-06 03:06:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:06:40.710747+00:00', 'runtime': '543120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543121114 ms) 2026-01-06 03:06:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:05:40.710648+00:00', 'runtime': '543060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543121114 ms) 2026-01-06 03:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543140090 ms) 2026-01-06 03:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543140091 ms) 2026-01-06 03:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:06:40.710845+00:00'} (T+543140094 ms) 2026-01-06 03:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543180082 ms) 2026-01-06 03:07:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543180083 ms) 2026-01-06 03:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543180083 ms) 2026-01-06 03:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543180083 ms) 2026-01-06 03:07:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543181119 ms) 2026-01-06 03:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543181119 ms) 2026-01-06 03:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:07:40.710814+00:00', 'runtime': '543180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543181120 ms) 2026-01-06 03:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:06:40.710747+00:00', 'runtime': '543120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543181120 ms) 2026-01-06 03:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543200090 ms) 2026-01-06 03:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543200091 ms) 2026-01-06 03:08:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:07:40.710851+00:00'} (T+543200093 ms) 2026-01-06 03:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543240083 ms) 2026-01-06 03:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543240083 ms) 2026-01-06 03:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543240084 ms) 2026-01-06 03:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543240084 ms) 2026-01-06 03:08:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543241116 ms) 2026-01-06 03:08:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543241116 ms) 2026-01-06 03:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:08:40.710751+00:00', 'runtime': '543240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543241118 ms) 2026-01-06 03:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:07:40.710814+00:00', 'runtime': '543180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543241118 ms) 2026-01-06 03:09:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543260091 ms) 2026-01-06 03:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543260092 ms) 2026-01-06 03:09:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:08:40.713246+00:00'} (T+543260095 ms) 2026-01-06 03:09:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543300082 ms) 2026-01-06 03:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543300083 ms) 2026-01-06 03:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543300083 ms) 2026-01-06 03:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543300084 ms) 2026-01-06 03:09:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543301118 ms) 2026-01-06 03:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543301118 ms) 2026-01-06 03:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:09:40.710729+00:00', 'runtime': '543300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543301119 ms) 2026-01-06 03:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:08:40.710751+00:00', 'runtime': '543240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543301120 ms) 2026-01-06 03:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543320087 ms) 2026-01-06 03:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543320088 ms) 2026-01-06 03:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:09:40.710849+00:00'} (T+543320091 ms) 2026-01-06 03:10:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543360078 ms) 2026-01-06 03:10:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543360078 ms) 2026-01-06 03:10:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543360078 ms) 2026-01-06 03:10:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543360079 ms) 2026-01-06 03:10:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543361115 ms) 2026-01-06 03:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543361116 ms) 2026-01-06 03:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:10:40.710727+00:00', 'runtime': '543360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543361118 ms) 2026-01-06 03:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:09:40.710729+00:00', 'runtime': '543300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543361119 ms) 2026-01-06 03:11:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543380088 ms) 2026-01-06 03:11:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543380089 ms) 2026-01-06 03:11:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:10:40.710859+00:00'} (T+543380092 ms) 2026-01-06 03:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543420082 ms) 2026-01-06 03:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543420083 ms) 2026-01-06 03:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543420083 ms) 2026-01-06 03:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543420084 ms) 2026-01-06 03:11:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543421116 ms) 2026-01-06 03:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543421117 ms) 2026-01-06 03:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:11:40.710721+00:00', 'runtime': '543420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543421118 ms) 2026-01-06 03:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:10:40.710727+00:00', 'runtime': '543360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543421118 ms) 2026-01-06 03:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543440090 ms) 2026-01-06 03:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543440091 ms) 2026-01-06 03:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:11:40.710866+00:00'} (T+543440093 ms) 2026-01-06 03:12:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543480077 ms) 2026-01-06 03:12:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543480078 ms) 2026-01-06 03:12:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543480078 ms) 2026-01-06 03:12:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543480079 ms) 2026-01-06 03:12:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543481114 ms) 2026-01-06 03:12:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543481115 ms) 2026-01-06 03:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:12:40.710732+00:00', 'runtime': '543480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543481117 ms) 2026-01-06 03:12:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:11:40.710721+00:00', 'runtime': '543420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543481121 ms) 2026-01-06 03:13:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543500089 ms) 2026-01-06 03:13:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543500090 ms) 2026-01-06 03:13:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:12:40.710875+00:00'} (T+543500093 ms) 2026-01-06 03:13:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543540078 ms) 2026-01-06 03:13:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543540079 ms) 2026-01-06 03:13:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543540079 ms) 2026-01-06 03:13:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543540079 ms) 2026-01-06 03:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543541116 ms) 2026-01-06 03:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543541117 ms) 2026-01-06 03:13:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:13:40.710740+00:00', 'runtime': '543540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543541119 ms) 2026-01-06 03:13:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:12:40.710732+00:00', 'runtime': '543480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543541123 ms) 2026-01-06 03:14:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543560089 ms) 2026-01-06 03:14:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543560090 ms) 2026-01-06 03:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:13:40.710862+00:00'} (T+543560093 ms) 2026-01-06 03:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543600084 ms) 2026-01-06 03:14:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543600084 ms) 2026-01-06 03:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543600084 ms) 2026-01-06 03:14:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543600085 ms) 2026-01-06 03:14:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543601116 ms) 2026-01-06 03:14:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543601116 ms) 2026-01-06 03:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:14:40.710724+00:00', 'runtime': '543600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543601117 ms) 2026-01-06 03:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:13:40.710740+00:00', 'runtime': '543540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543601117 ms) 2026-01-06 03:15:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543620090 ms) 2026-01-06 03:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543620091 ms) 2026-01-06 03:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:14:40.710828+00:00'} (T+543620094 ms) 2026-01-06 03:15:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543660085 ms) 2026-01-06 03:15:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543660085 ms) 2026-01-06 03:15:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543660085 ms) 2026-01-06 03:15:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543660086 ms) 2026-01-06 03:15:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543661119 ms) 2026-01-06 03:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543661120 ms) 2026-01-06 03:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:15:40.710753+00:00', 'runtime': '543660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543661120 ms) 2026-01-06 03:15:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:14:40.710724+00:00', 'runtime': '543600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543661121 ms) 2026-01-06 03:16:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543680092 ms) 2026-01-06 03:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543680093 ms) 2026-01-06 03:16:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:15:40.713211+00:00'} (T+543680096 ms) 2026-01-06 03:16:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543720083 ms) 2026-01-06 03:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543720083 ms) 2026-01-06 03:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543720084 ms) 2026-01-06 03:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543720084 ms) 2026-01-06 03:16:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543721119 ms) 2026-01-06 03:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543721119 ms) 2026-01-06 03:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:16:40.710782+00:00', 'runtime': '543720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543721120 ms) 2026-01-06 03:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:15:40.710753+00:00', 'runtime': '543660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543721120 ms) 2026-01-06 03:17:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543740091 ms) 2026-01-06 03:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543740092 ms) 2026-01-06 03:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:16:40.710865+00:00'} (T+543740094 ms) 2026-01-06 03:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543780083 ms) 2026-01-06 03:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543780083 ms) 2026-01-06 03:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543780084 ms) 2026-01-06 03:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543780084 ms) 2026-01-06 03:17:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543781116 ms) 2026-01-06 03:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543781116 ms) 2026-01-06 03:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:17:40.710722+00:00', 'runtime': '543780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543781117 ms) 2026-01-06 03:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:16:40.710782+00:00', 'runtime': '543720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543781118 ms) 2026-01-06 03:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543800090 ms) 2026-01-06 03:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543800091 ms) 2026-01-06 03:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:17:40.710859+00:00'} (T+543800094 ms) 2026-01-06 03:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543840082 ms) 2026-01-06 03:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543840083 ms) 2026-01-06 03:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543840083 ms) 2026-01-06 03:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543840084 ms) 2026-01-06 03:18:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543841121 ms) 2026-01-06 03:18:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543841122 ms) 2026-01-06 03:18:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:18:40.710716+00:00', 'runtime': '543840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543841123 ms) 2026-01-06 03:18:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:17:40.710722+00:00', 'runtime': '543780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543841123 ms) 2026-01-06 03:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543860091 ms) 2026-01-06 03:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543860092 ms) 2026-01-06 03:19:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:18:40.713228+00:00'} (T+543860098 ms) 2026-01-06 03:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543900083 ms) 2026-01-06 03:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543900084 ms) 2026-01-06 03:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543900084 ms) 2026-01-06 03:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543900084 ms) 2026-01-06 03:19:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543901121 ms) 2026-01-06 03:19:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543901122 ms) 2026-01-06 03:19:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:19:40.710796+00:00', 'runtime': '543900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543901124 ms) 2026-01-06 03:19:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:18:40.710716+00:00', 'runtime': '543840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543901125 ms) 2026-01-06 03:20:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543920089 ms) 2026-01-06 03:20:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543920090 ms) 2026-01-06 03:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:19:40.710855+00:00'} (T+543920093 ms) 2026-01-06 03:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+543960084 ms) 2026-01-06 03:20:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+543960084 ms) 2026-01-06 03:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+543960084 ms) 2026-01-06 03:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+543960085 ms) 2026-01-06 03:20:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+543961124 ms) 2026-01-06 03:20:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+543961126 ms) 2026-01-06 03:20:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:20:40.710779+00:00', 'runtime': '543960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543961128 ms) 2026-01-06 03:20:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:19:40.710796+00:00', 'runtime': '543900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+543961129 ms) 2026-01-06 03:21:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543980088 ms) 2026-01-06 03:21:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+543980089 ms) 2026-01-06 03:21:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:20:40.710868+00:00'} (T+543980092 ms) 2026-01-06 03:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544020083 ms) 2026-01-06 03:21:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544020084 ms) 2026-01-06 03:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544020084 ms) 2026-01-06 03:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544020084 ms) 2026-01-06 03:21:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544021119 ms) 2026-01-06 03:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544021119 ms) 2026-01-06 03:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:21:40.710754+00:00', 'runtime': '544020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544021120 ms) 2026-01-06 03:21:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:20:40.710779+00:00', 'runtime': '543960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544021121 ms) 2026-01-06 03:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544040088 ms) 2026-01-06 03:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544040089 ms) 2026-01-06 03:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:21:40.710853+00:00'} (T+544040092 ms) 2026-01-06 03:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544080082 ms) 2026-01-06 03:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544080083 ms) 2026-01-06 03:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544080083 ms) 2026-01-06 03:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544080084 ms) 2026-01-06 03:22:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544081118 ms) 2026-01-06 03:22:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544081118 ms) 2026-01-06 03:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:22:40.710772+00:00', 'runtime': '544080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544081120 ms) 2026-01-06 03:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:21:40.710754+00:00', 'runtime': '544020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544081120 ms) 2026-01-06 03:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544100090 ms) 2026-01-06 03:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544100092 ms) 2026-01-06 03:23:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:22:40.710863+00:00'} (T+544100094 ms) 2026-01-06 03:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544140083 ms) 2026-01-06 03:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544140083 ms) 2026-01-06 03:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544140084 ms) 2026-01-06 03:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544140084 ms) 2026-01-06 03:23:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544141116 ms) 2026-01-06 03:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544141117 ms) 2026-01-06 03:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:23:40.710736+00:00', 'runtime': '544140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544141118 ms) 2026-01-06 03:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:22:40.710772+00:00', 'runtime': '544080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544141118 ms) 2026-01-06 03:24:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544160087 ms) 2026-01-06 03:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544160088 ms) 2026-01-06 03:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:23:40.710851+00:00'} (T+544160091 ms) 2026-01-06 03:24:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544200077 ms) 2026-01-06 03:24:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544200077 ms) 2026-01-06 03:24:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544200077 ms) 2026-01-06 03:24:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544200078 ms) 2026-01-06 03:24:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544201112 ms) 2026-01-06 03:24:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544201113 ms) 2026-01-06 03:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:24:40.710732+00:00', 'runtime': '544200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544201115 ms) 2026-01-06 03:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:23:40.710736+00:00', 'runtime': '544140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544201116 ms) 2026-01-06 03:25:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544220084 ms) 2026-01-06 03:25:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544220085 ms) 2026-01-06 03:25:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:24:40.710859+00:00'} (T+544220090 ms) 2026-01-06 03:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544260083 ms) 2026-01-06 03:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544260084 ms) 2026-01-06 03:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544260084 ms) 2026-01-06 03:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544260085 ms) 2026-01-06 03:25:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544261117 ms) 2026-01-06 03:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544261117 ms) 2026-01-06 03:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:25:40.710797+00:00', 'runtime': '544260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544261118 ms) 2026-01-06 03:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:24:40.710732+00:00', 'runtime': '544200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544261119 ms) 2026-01-06 03:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544280090 ms) 2026-01-06 03:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544280091 ms) 2026-01-06 03:26:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:25:40.710903+00:00'} (T+544280094 ms) 2026-01-06 03:26:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544320081 ms) 2026-01-06 03:26:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544320081 ms) 2026-01-06 03:26:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544320081 ms) 2026-01-06 03:26:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544320081 ms) 2026-01-06 03:26:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544321115 ms) 2026-01-06 03:26:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544321116 ms) 2026-01-06 03:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:26:40.710751+00:00', 'runtime': '544320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544321118 ms) 2026-01-06 03:26:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:25:40.710797+00:00', 'runtime': '544260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544321119 ms) 2026-01-06 03:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544340090 ms) 2026-01-06 03:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544340091 ms) 2026-01-06 03:27:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:26:40.710854+00:00'} (T+544340093 ms) 2026-01-06 03:27:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544380077 ms) 2026-01-06 03:27:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544380077 ms) 2026-01-06 03:27:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544380078 ms) 2026-01-06 03:27:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544380078 ms) 2026-01-06 03:27:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544381115 ms) 2026-01-06 03:27:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544381116 ms) 2026-01-06 03:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:27:40.710699+00:00', 'runtime': '544380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544381118 ms) 2026-01-06 03:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:26:40.710751+00:00', 'runtime': '544320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544381119 ms) 2026-01-06 03:28:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544400087 ms) 2026-01-06 03:28:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544400088 ms) 2026-01-06 03:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:27:40.710835+00:00'} (T+544400091 ms) 2026-01-06 03:28:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544440085 ms) 2026-01-06 03:28:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544440086 ms) 2026-01-06 03:28:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544440086 ms) 2026-01-06 03:28:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544440086 ms) 2026-01-06 03:28:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544441123 ms) 2026-01-06 03:28:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544441123 ms) 2026-01-06 03:28:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:28:40.713160+00:00', 'runtime': '544440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544441124 ms) 2026-01-06 03:28:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:27:40.710699+00:00', 'runtime': '544380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544441125 ms) 2026-01-06 03:29:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544460088 ms) 2026-01-06 03:29:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544460089 ms) 2026-01-06 03:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:28:40.710830+00:00'} (T+544460092 ms) 2026-01-06 03:29:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544500054 ms) 2026-01-06 03:29:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544500054 ms) 2026-01-06 03:29:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544500054 ms) 2026-01-06 03:29:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544500054 ms) 2026-01-06 03:29:41.764 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544501086 ms) 2026-01-06 03:29:41.765 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544501087 ms) 2026-01-06 03:29:41.767 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:29:40.710526+00:00', 'runtime': '544500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544501089 ms) 2026-01-06 03:29:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:28:40.713160+00:00', 'runtime': '544440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544501089 ms) 2026-01-06 03:30:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544520072 ms) 2026-01-06 03:30:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544520073 ms) 2026-01-06 03:30:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:29:40.712962+00:00'} (T+544520076 ms) 2026-01-06 03:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544560082 ms) 2026-01-06 03:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544560083 ms) 2026-01-06 03:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544560083 ms) 2026-01-06 03:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544560084 ms) 2026-01-06 03:30:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544561123 ms) 2026-01-06 03:30:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544561124 ms) 2026-01-06 03:30:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:30:40.710816+00:00', 'runtime': '544560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544561125 ms) 2026-01-06 03:30:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:29:40.710526+00:00', 'runtime': '544500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544561126 ms) 2026-01-06 03:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544580091 ms) 2026-01-06 03:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544580092 ms) 2026-01-06 03:31:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:30:40.710907+00:00'} (T+544580094 ms) 2026-01-06 03:31:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544620077 ms) 2026-01-06 03:31:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544620077 ms) 2026-01-06 03:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544620078 ms) 2026-01-06 03:31:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544620078 ms) 2026-01-06 03:31:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544621111 ms) 2026-01-06 03:31:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544621112 ms) 2026-01-06 03:31:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:31:40.710712+00:00', 'runtime': '544620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544621114 ms) 2026-01-06 03:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:30:40.710816+00:00', 'runtime': '544560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544621115 ms) 2026-01-06 03:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544640090 ms) 2026-01-06 03:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544640091 ms) 2026-01-06 03:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:31:40.710855+00:00'} (T+544640094 ms) 2026-01-06 03:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544680083 ms) 2026-01-06 03:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544680083 ms) 2026-01-06 03:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544680084 ms) 2026-01-06 03:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544680084 ms) 2026-01-06 03:32:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544681115 ms) 2026-01-06 03:32:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544681115 ms) 2026-01-06 03:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:32:40.710711+00:00', 'runtime': '544680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544681116 ms) 2026-01-06 03:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:31:40.710712+00:00', 'runtime': '544620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544681117 ms) 2026-01-06 03:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544700090 ms) 2026-01-06 03:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544700091 ms) 2026-01-06 03:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:32:40.710820+00:00'} (T+544700094 ms) 2026-01-06 03:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544740083 ms) 2026-01-06 03:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544740083 ms) 2026-01-06 03:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544740084 ms) 2026-01-06 03:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544740084 ms) 2026-01-06 03:33:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544741120 ms) 2026-01-06 03:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544741120 ms) 2026-01-06 03:33:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:33:40.710765+00:00', 'runtime': '544740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544741121 ms) 2026-01-06 03:33:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:32:40.710711+00:00', 'runtime': '544680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544741122 ms) 2026-01-06 03:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544760087 ms) 2026-01-06 03:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544760088 ms) 2026-01-06 03:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:33:40.710848+00:00'} (T+544760091 ms) 2026-01-06 03:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544800082 ms) 2026-01-06 03:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544800083 ms) 2026-01-06 03:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544800083 ms) 2026-01-06 03:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544800084 ms) 2026-01-06 03:34:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544801124 ms) 2026-01-06 03:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544801125 ms) 2026-01-06 03:34:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:34:40.710789+00:00', 'runtime': '544800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544801127 ms) 2026-01-06 03:34:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:33:40.710765+00:00', 'runtime': '544740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544801128 ms) 2026-01-06 03:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544820090 ms) 2026-01-06 03:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544820091 ms) 2026-01-06 03:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:34:40.710882+00:00'} (T+544820094 ms) 2026-01-06 03:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544860083 ms) 2026-01-06 03:35:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544860084 ms) 2026-01-06 03:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544860084 ms) 2026-01-06 03:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544860084 ms) 2026-01-06 03:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544861117 ms) 2026-01-06 03:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544861117 ms) 2026-01-06 03:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:35:40.710767+00:00', 'runtime': '544860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544861118 ms) 2026-01-06 03:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:34:40.710789+00:00', 'runtime': '544800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544861118 ms) 2026-01-06 03:36:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544880090 ms) 2026-01-06 03:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544880092 ms) 2026-01-06 03:36:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:35:40.710877+00:00'} (T+544880094 ms) 2026-01-06 03:36:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544920079 ms) 2026-01-06 03:36:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544920080 ms) 2026-01-06 03:36:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544920080 ms) 2026-01-06 03:36:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544920080 ms) 2026-01-06 03:36:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544921117 ms) 2026-01-06 03:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544921118 ms) 2026-01-06 03:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:36:40.710716+00:00', 'runtime': '544920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544921120 ms) 2026-01-06 03:36:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:35:40.710767+00:00', 'runtime': '544860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544921121 ms) 2026-01-06 03:37:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544940088 ms) 2026-01-06 03:37:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+544940089 ms) 2026-01-06 03:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:36:40.710865+00:00'} (T+544940092 ms) 2026-01-06 03:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+544980083 ms) 2026-01-06 03:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+544980083 ms) 2026-01-06 03:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+544980084 ms) 2026-01-06 03:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+544980084 ms) 2026-01-06 03:37:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+544981117 ms) 2026-01-06 03:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+544981117 ms) 2026-01-06 03:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:37:40.710707+00:00', 'runtime': '544980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544981118 ms) 2026-01-06 03:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:36:40.710716+00:00', 'runtime': '544920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+544981119 ms) 2026-01-06 03:38:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545000087 ms) 2026-01-06 03:38:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545000088 ms) 2026-01-06 03:38:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:37:40.710866+00:00'} (T+545000090 ms) 2026-01-06 03:38:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545040081 ms) 2026-01-06 03:38:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545040081 ms) 2026-01-06 03:38:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545040081 ms) 2026-01-06 03:38:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545040081 ms) 2026-01-06 03:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545041117 ms) 2026-01-06 03:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545041118 ms) 2026-01-06 03:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:38:40.710731+00:00', 'runtime': '545040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545041120 ms) 2026-01-06 03:38:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:37:40.710707+00:00', 'runtime': '544980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545041121 ms) 2026-01-06 03:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545060090 ms) 2026-01-06 03:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545060091 ms) 2026-01-06 03:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:38:40.710877+00:00'} (T+545060094 ms) 2026-01-06 03:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545100083 ms) 2026-01-06 03:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545100083 ms) 2026-01-06 03:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545100084 ms) 2026-01-06 03:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545100084 ms) 2026-01-06 03:39:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545101120 ms) 2026-01-06 03:39:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545101121 ms) 2026-01-06 03:39:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:39:40.710755+00:00', 'runtime': '545100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545101122 ms) 2026-01-06 03:39:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:38:40.710731+00:00', 'runtime': '545040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545101123 ms) 2026-01-06 03:40:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545120091 ms) 2026-01-06 03:40:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545120092 ms) 2026-01-06 03:40:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:39:40.713241+00:00'} (T+545120095 ms) 2026-01-06 03:40:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545160078 ms) 2026-01-06 03:40:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545160078 ms) 2026-01-06 03:40:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545160079 ms) 2026-01-06 03:40:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545160079 ms) 2026-01-06 03:40:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545161117 ms) 2026-01-06 03:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545161117 ms) 2026-01-06 03:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:40:40.710717+00:00', 'runtime': '545160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545161119 ms) 2026-01-06 03:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:39:40.710755+00:00', 'runtime': '545100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545161120 ms) 2026-01-06 03:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545180088 ms) 2026-01-06 03:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545180090 ms) 2026-01-06 03:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:40:40.710860+00:00'} (T+545180092 ms) 2026-01-06 03:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545220082 ms) 2026-01-06 03:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545220083 ms) 2026-01-06 03:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545220083 ms) 2026-01-06 03:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545220084 ms) 2026-01-06 03:41:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545221120 ms) 2026-01-06 03:41:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545221121 ms) 2026-01-06 03:41:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:41:40.710734+00:00', 'runtime': '545220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545221123 ms) 2026-01-06 03:41:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:40:40.710717+00:00', 'runtime': '545160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545221124 ms) 2026-01-06 03:42:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545240090 ms) 2026-01-06 03:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545240092 ms) 2026-01-06 03:42:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:41:40.710831+00:00'} (T+545240093 ms) 2026-01-06 03:42:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545280083 ms) 2026-01-06 03:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545280083 ms) 2026-01-06 03:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545280084 ms) 2026-01-06 03:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545280084 ms) 2026-01-06 03:42:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545281124 ms) 2026-01-06 03:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545281125 ms) 2026-01-06 03:42:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:42:40.710715+00:00', 'runtime': '545280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545281127 ms) 2026-01-06 03:42:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:41:40.710734+00:00', 'runtime': '545220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545281128 ms) 2026-01-06 03:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545300090 ms) 2026-01-06 03:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545300091 ms) 2026-01-06 03:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:42:40.710849+00:00'} (T+545300094 ms) 2026-01-06 03:43:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545340077 ms) 2026-01-06 03:43:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545340077 ms) 2026-01-06 03:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545340077 ms) 2026-01-06 03:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545340077 ms) 2026-01-06 03:43:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545341113 ms) 2026-01-06 03:43:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545341114 ms) 2026-01-06 03:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:43:40.710745+00:00', 'runtime': '545340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545341115 ms) 2026-01-06 03:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:42:40.710715+00:00', 'runtime': '545280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545341118 ms) 2026-01-06 03:44:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545360091 ms) 2026-01-06 03:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545360092 ms) 2026-01-06 03:44:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:43:40.713235+00:00'} (T+545360098 ms) 2026-01-06 03:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545400083 ms) 2026-01-06 03:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545400083 ms) 2026-01-06 03:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545400084 ms) 2026-01-06 03:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545400084 ms) 2026-01-06 03:44:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545401123 ms) 2026-01-06 03:44:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545401124 ms) 2026-01-06 03:44:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:44:40.710815+00:00', 'runtime': '545400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545401126 ms) 2026-01-06 03:44:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:43:40.710745+00:00', 'runtime': '545340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545401127 ms) 2026-01-06 03:45:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545420094 ms) 2026-01-06 03:45:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545420095 ms) 2026-01-06 03:45:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:44:40.713231+00:00'} (T+545420098 ms) 2026-01-06 03:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545460082 ms) 2026-01-06 03:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545460083 ms) 2026-01-06 03:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545460083 ms) 2026-01-06 03:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545460084 ms) 2026-01-06 03:45:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545461115 ms) 2026-01-06 03:45:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545461116 ms) 2026-01-06 03:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:45:40.710728+00:00', 'runtime': '545460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545461117 ms) 2026-01-06 03:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:44:40.710815+00:00', 'runtime': '545400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545461117 ms) 2026-01-06 03:46:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545480091 ms) 2026-01-06 03:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545480092 ms) 2026-01-06 03:46:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:45:40.710853+00:00'} (T+545480095 ms) 2026-01-06 03:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545520083 ms) 2026-01-06 03:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545520083 ms) 2026-01-06 03:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545520084 ms) 2026-01-06 03:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545520084 ms) 2026-01-06 03:46:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545521116 ms) 2026-01-06 03:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545521117 ms) 2026-01-06 03:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:46:40.710751+00:00', 'runtime': '545520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545521118 ms) 2026-01-06 03:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:45:40.710728+00:00', 'runtime': '545460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545521118 ms) 2026-01-06 03:47:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545540087 ms) 2026-01-06 03:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545540088 ms) 2026-01-06 03:47:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:46:40.710836+00:00'} (T+545540090 ms) 2026-01-06 03:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545580083 ms) 2026-01-06 03:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545580084 ms) 2026-01-06 03:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545580084 ms) 2026-01-06 03:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545580084 ms) 2026-01-06 03:47:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545581119 ms) 2026-01-06 03:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545581119 ms) 2026-01-06 03:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:47:40.710803+00:00', 'runtime': '545580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545581120 ms) 2026-01-06 03:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:46:40.710751+00:00', 'runtime': '545520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545581120 ms) 2026-01-06 03:48:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545600090 ms) 2026-01-06 03:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545600092 ms) 2026-01-06 03:48:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:47:40.710871+00:00'} (T+545600094 ms) 2026-01-06 03:48:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545640077 ms) 2026-01-06 03:48:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545640078 ms) 2026-01-06 03:48:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545640078 ms) 2026-01-06 03:48:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545640078 ms) 2026-01-06 03:48:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545641114 ms) 2026-01-06 03:48:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545641115 ms) 2026-01-06 03:48:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:48:40.710761+00:00', 'runtime': '545640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545641117 ms) 2026-01-06 03:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:47:40.710803+00:00', 'runtime': '545580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545641118 ms) 2026-01-06 03:49:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545660089 ms) 2026-01-06 03:49:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545660090 ms) 2026-01-06 03:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:48:40.710847+00:00'} (T+545660093 ms) 2026-01-06 03:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545700082 ms) 2026-01-06 03:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545700083 ms) 2026-01-06 03:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545700083 ms) 2026-01-06 03:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545700084 ms) 2026-01-06 03:49:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545701116 ms) 2026-01-06 03:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545701117 ms) 2026-01-06 03:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:49:40.710740+00:00', 'runtime': '545700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545701118 ms) 2026-01-06 03:49:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:48:40.710761+00:00', 'runtime': '545640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545701118 ms) 2026-01-06 03:50:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545720091 ms) 2026-01-06 03:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545720092 ms) 2026-01-06 03:50:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:49:40.713246+00:00'} (T+545720095 ms) 2026-01-06 03:50:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545760085 ms) 2026-01-06 03:50:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545760085 ms) 2026-01-06 03:50:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545760086 ms) 2026-01-06 03:50:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545760086 ms) 2026-01-06 03:50:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545761117 ms) 2026-01-06 03:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545761117 ms) 2026-01-06 03:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:50:40.713171+00:00', 'runtime': '545760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545761118 ms) 2026-01-06 03:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:49:40.710740+00:00', 'runtime': '545700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545761118 ms) 2026-01-06 03:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545780087 ms) 2026-01-06 03:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545780088 ms) 2026-01-06 03:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:50:40.710804+00:00'} (T+545780091 ms) 2026-01-06 03:51:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545820084 ms) 2026-01-06 03:51:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545820085 ms) 2026-01-06 03:51:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545820085 ms) 2026-01-06 03:51:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545820086 ms) 2026-01-06 03:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545821119 ms) 2026-01-06 03:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545821119 ms) 2026-01-06 03:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:51:40.713165+00:00', 'runtime': '545820.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545821120 ms) 2026-01-06 03:51:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:50:40.713171+00:00', 'runtime': '545760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545821121 ms) 2026-01-06 03:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545840087 ms) 2026-01-06 03:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545840088 ms) 2026-01-06 03:52:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:51:40.710837+00:00'} (T+545840090 ms) 2026-01-06 03:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545880083 ms) 2026-01-06 03:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545880083 ms) 2026-01-06 03:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545880083 ms) 2026-01-06 03:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545880084 ms) 2026-01-06 03:52:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545881116 ms) 2026-01-06 03:52:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545881116 ms) 2026-01-06 03:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:52:40.710735+00:00', 'runtime': '545880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545881117 ms) 2026-01-06 03:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:51:40.713165+00:00', 'runtime': '545820.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545881118 ms) 2026-01-06 03:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545900087 ms) 2026-01-06 03:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545900088 ms) 2026-01-06 03:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:52:40.710850+00:00'} (T+545900091 ms) 2026-01-06 03:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+545940083 ms) 2026-01-06 03:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+545940083 ms) 2026-01-06 03:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+545940083 ms) 2026-01-06 03:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+545940084 ms) 2026-01-06 03:53:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+545941124 ms) 2026-01-06 03:53:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+545941124 ms) 2026-01-06 03:53:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:53:40.710760+00:00', 'runtime': '545940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545941127 ms) 2026-01-06 03:53:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:52:40.710735+00:00', 'runtime': '545880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+545941127 ms) 2026-01-06 03:54:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545960089 ms) 2026-01-06 03:54:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+545960090 ms) 2026-01-06 03:54:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:53:40.710850+00:00'} (T+545960093 ms) 2026-01-06 03:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546000083 ms) 2026-01-06 03:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546000083 ms) 2026-01-06 03:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546000083 ms) 2026-01-06 03:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546000084 ms) 2026-01-06 03:54:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546001117 ms) 2026-01-06 03:54:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546001118 ms) 2026-01-06 03:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:54:40.710748+00:00', 'runtime': '546000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546001119 ms) 2026-01-06 03:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:53:40.710760+00:00', 'runtime': '545940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546001119 ms) 2026-01-06 03:55:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546020088 ms) 2026-01-06 03:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546020089 ms) 2026-01-06 03:55:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:54:40.710850+00:00'} (T+546020092 ms) 2026-01-06 03:55:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546060083 ms) 2026-01-06 03:55:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546060084 ms) 2026-01-06 03:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546060084 ms) 2026-01-06 03:55:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546060085 ms) 2026-01-06 03:55:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546061122 ms) 2026-01-06 03:55:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546061123 ms) 2026-01-06 03:55:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:55:40.710728+00:00', 'runtime': '546060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546061125 ms) 2026-01-06 03:55:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:54:40.710748+00:00', 'runtime': '546000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546061126 ms) 2026-01-06 03:56:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546080089 ms) 2026-01-06 03:56:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546080089 ms) 2026-01-06 03:56:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:55:40.710837+00:00'} (T+546080090 ms) 2026-01-06 03:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546120082 ms) 2026-01-06 03:56:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546120082 ms) 2026-01-06 03:56:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546120083 ms) 2026-01-06 03:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546120083 ms) 2026-01-06 03:56:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546121116 ms) 2026-01-06 03:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546121117 ms) 2026-01-06 03:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:56:40.710712+00:00', 'runtime': '546120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546121119 ms) 2026-01-06 03:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:55:40.710728+00:00', 'runtime': '546060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546121120 ms) 2026-01-06 03:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546140090 ms) 2026-01-06 03:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546140091 ms) 2026-01-06 03:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:56:40.710874+00:00'} (T+546140095 ms) 2026-01-06 03:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546180083 ms) 2026-01-06 03:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546180083 ms) 2026-01-06 03:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546180083 ms) 2026-01-06 03:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546180084 ms) 2026-01-06 03:57:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546181115 ms) 2026-01-06 03:57:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546181116 ms) 2026-01-06 03:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:57:40.710727+00:00', 'runtime': '546180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546181117 ms) 2026-01-06 03:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:56:40.710712+00:00', 'runtime': '546120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546181117 ms) 2026-01-06 03:58:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546200087 ms) 2026-01-06 03:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546200088 ms) 2026-01-06 03:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:57:40.710865+00:00'} (T+546200091 ms) 2026-01-06 03:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546240082 ms) 2026-01-06 03:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546240083 ms) 2026-01-06 03:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546240083 ms) 2026-01-06 03:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546240084 ms) 2026-01-06 03:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546241119 ms) 2026-01-06 03:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546241119 ms) 2026-01-06 03:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:58:40.710753+00:00', 'runtime': '546240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546241120 ms) 2026-01-06 03:58:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:57:40.710727+00:00', 'runtime': '546180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546241121 ms) 2026-01-06 03:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546260091 ms) 2026-01-06 03:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546260092 ms) 2026-01-06 03:59:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:58:40.710864+00:00'} (T+546260095 ms) 2026-01-06 03:59:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546300076 ms) 2026-01-06 03:59:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546300077 ms) 2026-01-06 03:59:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546300077 ms) 2026-01-06 03:59:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546300077 ms) 2026-01-06 03:59:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546301113 ms) 2026-01-06 03:59:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546301114 ms) 2026-01-06 03:59:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 03:59:40.710755+00:00', 'runtime': '546300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546301115 ms) 2026-01-06 03:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:58:40.710753+00:00', 'runtime': '546240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546301116 ms) 2026-01-06 04:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546320088 ms) 2026-01-06 04:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546320089 ms) 2026-01-06 04:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 03:59:40.710866+00:00'} (T+546320092 ms) 2026-01-06 04:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546360082 ms) 2026-01-06 04:00:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546360083 ms) 2026-01-06 04:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546360083 ms) 2026-01-06 04:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546360083 ms) 2026-01-06 04:00:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546361120 ms) 2026-01-06 04:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546361120 ms) 2026-01-06 04:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:00:40.710730+00:00', 'runtime': '546360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546361121 ms) 2026-01-06 04:00:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 03:59:40.710755+00:00', 'runtime': '546300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546361122 ms) 2026-01-06 04:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546380090 ms) 2026-01-06 04:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546380091 ms) 2026-01-06 04:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:00:40.710869+00:00'} (T+546380093 ms) 2026-01-06 04:01:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546420084 ms) 2026-01-06 04:01:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546420085 ms) 2026-01-06 04:01:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546420085 ms) 2026-01-06 04:01:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546420086 ms) 2026-01-06 04:01:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546421121 ms) 2026-01-06 04:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546421121 ms) 2026-01-06 04:01:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:01:40.713169+00:00', 'runtime': '546420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546421122 ms) 2026-01-06 04:01:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:00:40.710730+00:00', 'runtime': '546360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546421122 ms) 2026-01-06 04:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546440090 ms) 2026-01-06 04:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546440091 ms) 2026-01-06 04:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:01:40.710823+00:00'} (T+546440094 ms) 2026-01-06 04:02:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546480080 ms) 2026-01-06 04:02:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546480080 ms) 2026-01-06 04:02:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546480081 ms) 2026-01-06 04:02:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546480081 ms) 2026-01-06 04:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546481116 ms) 2026-01-06 04:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546481117 ms) 2026-01-06 04:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:02:40.713168+00:00', 'runtime': '546480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546481119 ms) 2026-01-06 04:02:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:01:40.713169+00:00', 'runtime': '546420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546481120 ms) 2026-01-06 04:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546500090 ms) 2026-01-06 04:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546500091 ms) 2026-01-06 04:03:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:02:40.710824+00:00'} (T+546500094 ms) 2026-01-06 04:03:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546540083 ms) 2026-01-06 04:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546540083 ms) 2026-01-06 04:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546540084 ms) 2026-01-06 04:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546540084 ms) 2026-01-06 04:03:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546541117 ms) 2026-01-06 04:03:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546541117 ms) 2026-01-06 04:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:03:40.710776+00:00', 'runtime': '546540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546541118 ms) 2026-01-06 04:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:02:40.713168+00:00', 'runtime': '546480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546541119 ms) 2026-01-06 04:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546560090 ms) 2026-01-06 04:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546560091 ms) 2026-01-06 04:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:03:40.710871+00:00'} (T+546560094 ms) 2026-01-06 04:04:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546600084 ms) 2026-01-06 04:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546600084 ms) 2026-01-06 04:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546600085 ms) 2026-01-06 04:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546600085 ms) 2026-01-06 04:04:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546601114 ms) 2026-01-06 04:04:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546601115 ms) 2026-01-06 04:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:04:40.710744+00:00', 'runtime': '546600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546601117 ms) 2026-01-06 04:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:03:40.710776+00:00', 'runtime': '546540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546601117 ms) 2026-01-06 04:05:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546620091 ms) 2026-01-06 04:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546620092 ms) 2026-01-06 04:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:04:40.710838+00:00'} (T+546620094 ms) 2026-01-06 04:05:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546660078 ms) 2026-01-06 04:05:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546660078 ms) 2026-01-06 04:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546660078 ms) 2026-01-06 04:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546660079 ms) 2026-01-06 04:05:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546661116 ms) 2026-01-06 04:05:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546661117 ms) 2026-01-06 04:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:05:40.710735+00:00', 'runtime': '546660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546661119 ms) 2026-01-06 04:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:04:40.710744+00:00', 'runtime': '546600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546661119 ms) 2026-01-06 04:06:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546680087 ms) 2026-01-06 04:06:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546680088 ms) 2026-01-06 04:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:05:40.710826+00:00'} (T+546680091 ms) 2026-01-06 04:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546720083 ms) 2026-01-06 04:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546720083 ms) 2026-01-06 04:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546720083 ms) 2026-01-06 04:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546720084 ms) 2026-01-06 04:06:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546721116 ms) 2026-01-06 04:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546721117 ms) 2026-01-06 04:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:06:40.710746+00:00', 'runtime': '546720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546721118 ms) 2026-01-06 04:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:05:40.710735+00:00', 'runtime': '546660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546721118 ms) 2026-01-06 04:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546740090 ms) 2026-01-06 04:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546740091 ms) 2026-01-06 04:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:06:40.710858+00:00'} (T+546740094 ms) 2026-01-06 04:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546780083 ms) 2026-01-06 04:07:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546780084 ms) 2026-01-06 04:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546780084 ms) 2026-01-06 04:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546780084 ms) 2026-01-06 04:07:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546781123 ms) 2026-01-06 04:07:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546781124 ms) 2026-01-06 04:07:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:07:40.710808+00:00', 'runtime': '546780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546781126 ms) 2026-01-06 04:07:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:06:40.710746+00:00', 'runtime': '546720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546781127 ms) 2026-01-06 04:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546800090 ms) 2026-01-06 04:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546800091 ms) 2026-01-06 04:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:07:40.710920+00:00'} (T+546800094 ms) 2026-01-06 04:08:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546840078 ms) 2026-01-06 04:08:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546840079 ms) 2026-01-06 04:08:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546840079 ms) 2026-01-06 04:08:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546840079 ms) 2026-01-06 04:08:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546841113 ms) 2026-01-06 04:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546841114 ms) 2026-01-06 04:08:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:08:40.710721+00:00', 'runtime': '546840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546841116 ms) 2026-01-06 04:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:07:40.710808+00:00', 'runtime': '546780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546841117 ms) 2026-01-06 04:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546860087 ms) 2026-01-06 04:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546860088 ms) 2026-01-06 04:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:08:40.710830+00:00'} (T+546860091 ms) 2026-01-06 04:09:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546900083 ms) 2026-01-06 04:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546900083 ms) 2026-01-06 04:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546900083 ms) 2026-01-06 04:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546900084 ms) 2026-01-06 04:09:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546901117 ms) 2026-01-06 04:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546901118 ms) 2026-01-06 04:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:09:40.710718+00:00', 'runtime': '546900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546901119 ms) 2026-01-06 04:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:08:40.710721+00:00', 'runtime': '546840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546901119 ms) 2026-01-06 04:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546920090 ms) 2026-01-06 04:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546920092 ms) 2026-01-06 04:10:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:09:40.710825+00:00'} (T+546920095 ms) 2026-01-06 04:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+546960083 ms) 2026-01-06 04:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+546960084 ms) 2026-01-06 04:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+546960084 ms) 2026-01-06 04:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+546960084 ms) 2026-01-06 04:10:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+546961113 ms) 2026-01-06 04:10:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+546961113 ms) 2026-01-06 04:10:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:10:40.710730+00:00', 'runtime': '546960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546961114 ms) 2026-01-06 04:10:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:09:40.710718+00:00', 'runtime': '546900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+546961115 ms) 2026-01-06 04:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546980090 ms) 2026-01-06 04:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+546980091 ms) 2026-01-06 04:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:10:40.710826+00:00'} (T+546980094 ms) 2026-01-06 04:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547020082 ms) 2026-01-06 04:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547020083 ms) 2026-01-06 04:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547020083 ms) 2026-01-06 04:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547020084 ms) 2026-01-06 04:11:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547021123 ms) 2026-01-06 04:11:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547021124 ms) 2026-01-06 04:11:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:11:40.710772+00:00', 'runtime': '547020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547021126 ms) 2026-01-06 04:11:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:10:40.710730+00:00', 'runtime': '546960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547021127 ms) 2026-01-06 04:12:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547040092 ms) 2026-01-06 04:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547040094 ms) 2026-01-06 04:12:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:11:40.713225+00:00'} (T+547040096 ms) 2026-01-06 04:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547080082 ms) 2026-01-06 04:12:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547080083 ms) 2026-01-06 04:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547080083 ms) 2026-01-06 04:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547080083 ms) 2026-01-06 04:12:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547081116 ms) 2026-01-06 04:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547081116 ms) 2026-01-06 04:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:12:40.710739+00:00', 'runtime': '547080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547081117 ms) 2026-01-06 04:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:11:40.710772+00:00', 'runtime': '547020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547081118 ms) 2026-01-06 04:13:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547100087 ms) 2026-01-06 04:13:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547100088 ms) 2026-01-06 04:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:12:40.710845+00:00'} (T+547100091 ms) 2026-01-06 04:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547140082 ms) 2026-01-06 04:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547140083 ms) 2026-01-06 04:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547140083 ms) 2026-01-06 04:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547140084 ms) 2026-01-06 04:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547141116 ms) 2026-01-06 04:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547141116 ms) 2026-01-06 04:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:13:40.710741+00:00', 'runtime': '547140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547141118 ms) 2026-01-06 04:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:12:40.710739+00:00', 'runtime': '547080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547141118 ms) 2026-01-06 04:14:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547160088 ms) 2026-01-06 04:14:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547160089 ms) 2026-01-06 04:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:13:40.710850+00:00'} (T+547160092 ms) 2026-01-06 04:14:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547200077 ms) 2026-01-06 04:14:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547200078 ms) 2026-01-06 04:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547200078 ms) 2026-01-06 04:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547200079 ms) 2026-01-06 04:14:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547201114 ms) 2026-01-06 04:14:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547201116 ms) 2026-01-06 04:14:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:14:40.710713+00:00', 'runtime': '547200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547201118 ms) 2026-01-06 04:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:13:40.710741+00:00', 'runtime': '547140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547201119 ms) 2026-01-06 04:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547220090 ms) 2026-01-06 04:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547220091 ms) 2026-01-06 04:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:14:40.710825+00:00'} (T+547220094 ms) 2026-01-06 04:15:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547260085 ms) 2026-01-06 04:15:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547260086 ms) 2026-01-06 04:15:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547260086 ms) 2026-01-06 04:15:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547260087 ms) 2026-01-06 04:15:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547261120 ms) 2026-01-06 04:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547261120 ms) 2026-01-06 04:15:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:15:40.713180+00:00', 'runtime': '547260.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547261122 ms) 2026-01-06 04:15:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:14:40.710713+00:00', 'runtime': '547200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547261123 ms) 2026-01-06 04:16:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547280091 ms) 2026-01-06 04:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547280092 ms) 2026-01-06 04:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:15:40.710802+00:00'} (T+547280094 ms) 2026-01-06 04:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547320082 ms) 2026-01-06 04:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547320083 ms) 2026-01-06 04:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547320083 ms) 2026-01-06 04:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547320084 ms) 2026-01-06 04:16:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547321119 ms) 2026-01-06 04:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547321119 ms) 2026-01-06 04:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:16:40.710758+00:00', 'runtime': '547320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547321120 ms) 2026-01-06 04:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:15:40.713180+00:00', 'runtime': '547260.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547321121 ms) 2026-01-06 04:17:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547340087 ms) 2026-01-06 04:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547340088 ms) 2026-01-06 04:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:16:40.710852+00:00'} (T+547340091 ms) 2026-01-06 04:17:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547380078 ms) 2026-01-06 04:17:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547380078 ms) 2026-01-06 04:17:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547380079 ms) 2026-01-06 04:17:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547380079 ms) 2026-01-06 04:17:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547381118 ms) 2026-01-06 04:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547381119 ms) 2026-01-06 04:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:17:40.710730+00:00', 'runtime': '547380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547381120 ms) 2026-01-06 04:17:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:16:40.710758+00:00', 'runtime': '547320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547381121 ms) 2026-01-06 04:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547400087 ms) 2026-01-06 04:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547400088 ms) 2026-01-06 04:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:17:40.710840+00:00'} (T+547400091 ms) 2026-01-06 04:18:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547440085 ms) 2026-01-06 04:18:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547440086 ms) 2026-01-06 04:18:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547440086 ms) 2026-01-06 04:18:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547440086 ms) 2026-01-06 04:18:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547441124 ms) 2026-01-06 04:18:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547441125 ms) 2026-01-06 04:18:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:18:40.713147+00:00', 'runtime': '547440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547441127 ms) 2026-01-06 04:18:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:17:40.710730+00:00', 'runtime': '547380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547441128 ms) 2026-01-06 04:19:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547460087 ms) 2026-01-06 04:19:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547460088 ms) 2026-01-06 04:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:18:40.710814+00:00'} (T+547460091 ms) 2026-01-06 04:19:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547500078 ms) 2026-01-06 04:19:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547500078 ms) 2026-01-06 04:19:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547500079 ms) 2026-01-06 04:19:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547500079 ms) 2026-01-06 04:19:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547501115 ms) 2026-01-06 04:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547501116 ms) 2026-01-06 04:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:19:40.710682+00:00', 'runtime': '547500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547501119 ms) 2026-01-06 04:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:18:40.713147+00:00', 'runtime': '547440.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547501120 ms) 2026-01-06 04:20:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547520088 ms) 2026-01-06 04:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547520089 ms) 2026-01-06 04:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:19:40.710844+00:00'} (T+547520092 ms) 2026-01-06 04:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547560082 ms) 2026-01-06 04:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547560083 ms) 2026-01-06 04:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547560083 ms) 2026-01-06 04:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547560083 ms) 2026-01-06 04:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547561119 ms) 2026-01-06 04:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547561120 ms) 2026-01-06 04:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:20:40.710743+00:00', 'runtime': '547560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547561121 ms) 2026-01-06 04:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:19:40.710682+00:00', 'runtime': '547500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547561121 ms) 2026-01-06 04:21:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547580086 ms) 2026-01-06 04:21:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547580086 ms) 2026-01-06 04:21:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:20:40.710860+00:00'} (T+547580087 ms) 2026-01-06 04:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547620083 ms) 2026-01-06 04:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547620083 ms) 2026-01-06 04:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547620084 ms) 2026-01-06 04:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547620084 ms) 2026-01-06 04:21:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547621123 ms) 2026-01-06 04:21:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547621124 ms) 2026-01-06 04:21:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:21:40.710757+00:00', 'runtime': '547620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547621127 ms) 2026-01-06 04:21:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:20:40.710743+00:00', 'runtime': '547560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547621128 ms) 2026-01-06 04:22:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547640091 ms) 2026-01-06 04:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547640092 ms) 2026-01-06 04:22:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:21:40.710872+00:00'} (T+547640095 ms) 2026-01-06 04:22:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547680084 ms) 2026-01-06 04:22:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547680085 ms) 2026-01-06 04:22:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547680085 ms) 2026-01-06 04:22:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547680086 ms) 2026-01-06 04:22:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547681113 ms) 2026-01-06 04:22:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547681113 ms) 2026-01-06 04:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:22:40.713170+00:00', 'runtime': '547680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547681114 ms) 2026-01-06 04:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:21:40.710757+00:00', 'runtime': '547620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547681115 ms) 2026-01-06 04:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547700090 ms) 2026-01-06 04:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547700092 ms) 2026-01-06 04:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:22:40.710791+00:00'} (T+547700094 ms) 2026-01-06 04:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547740083 ms) 2026-01-06 04:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547740084 ms) 2026-01-06 04:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547740084 ms) 2026-01-06 04:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547740084 ms) 2026-01-06 04:23:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547741117 ms) 2026-01-06 04:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547741118 ms) 2026-01-06 04:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:23:40.710766+00:00', 'runtime': '547740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547741119 ms) 2026-01-06 04:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:22:40.713170+00:00', 'runtime': '547680.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547741119 ms) 2026-01-06 04:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547760090 ms) 2026-01-06 04:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547760091 ms) 2026-01-06 04:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:23:40.710840+00:00'} (T+547760094 ms) 2026-01-06 04:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547800083 ms) 2026-01-06 04:24:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547800084 ms) 2026-01-06 04:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547800084 ms) 2026-01-06 04:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547800084 ms) 2026-01-06 04:24:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547801124 ms) 2026-01-06 04:24:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547801125 ms) 2026-01-06 04:24:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:24:40.710782+00:00', 'runtime': '547800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547801127 ms) 2026-01-06 04:24:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:23:40.710766+00:00', 'runtime': '547740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547801128 ms) 2026-01-06 04:25:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547820090 ms) 2026-01-06 04:25:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547820091 ms) 2026-01-06 04:25:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:24:40.710841+00:00'} (T+547820094 ms) 2026-01-06 04:25:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547860079 ms) 2026-01-06 04:25:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547860079 ms) 2026-01-06 04:25:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547860079 ms) 2026-01-06 04:25:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547860080 ms) 2026-01-06 04:25:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547861115 ms) 2026-01-06 04:25:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547861116 ms) 2026-01-06 04:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:25:40.713179+00:00', 'runtime': '547860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547861118 ms) 2026-01-06 04:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:24:40.710782+00:00', 'runtime': '547800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547861119 ms) 2026-01-06 04:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547880088 ms) 2026-01-06 04:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547880089 ms) 2026-01-06 04:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:25:40.710798+00:00'} (T+547880092 ms) 2026-01-06 04:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547920082 ms) 2026-01-06 04:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547920083 ms) 2026-01-06 04:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547920083 ms) 2026-01-06 04:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547920084 ms) 2026-01-06 04:26:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547921122 ms) 2026-01-06 04:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547921123 ms) 2026-01-06 04:26:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:26:40.710785+00:00', 'runtime': '547920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547921125 ms) 2026-01-06 04:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:25:40.713179+00:00', 'runtime': '547860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547921126 ms) 2026-01-06 04:27:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547940088 ms) 2026-01-06 04:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+547940089 ms) 2026-01-06 04:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:26:40.710837+00:00'} (T+547940092 ms) 2026-01-06 04:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+547980083 ms) 2026-01-06 04:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+547980083 ms) 2026-01-06 04:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+547980084 ms) 2026-01-06 04:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+547980084 ms) 2026-01-06 04:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+547981119 ms) 2026-01-06 04:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+547981119 ms) 2026-01-06 04:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:27:40.710706+00:00', 'runtime': '547980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547981120 ms) 2026-01-06 04:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:26:40.710785+00:00', 'runtime': '547920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+547981121 ms) 2026-01-06 04:28:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548000088 ms) 2026-01-06 04:28:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548000089 ms) 2026-01-06 04:28:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:27:40.710836+00:00'} (T+548000092 ms) 2026-01-06 04:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548040083 ms) 2026-01-06 04:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548040084 ms) 2026-01-06 04:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548040084 ms) 2026-01-06 04:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548040084 ms) 2026-01-06 04:28:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548041117 ms) 2026-01-06 04:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548041117 ms) 2026-01-06 04:28:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:28:40.710730+00:00', 'runtime': '548040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548041118 ms) 2026-01-06 04:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:27:40.710706+00:00', 'runtime': '547980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548041119 ms) 2026-01-06 04:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548060090 ms) 2026-01-06 04:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548060091 ms) 2026-01-06 04:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:28:40.710838+00:00'} (T+548060094 ms) 2026-01-06 04:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548100083 ms) 2026-01-06 04:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548100084 ms) 2026-01-06 04:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548100084 ms) 2026-01-06 04:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548100084 ms) 2026-01-06 04:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548101117 ms) 2026-01-06 04:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548101117 ms) 2026-01-06 04:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:29:40.710752+00:00', 'runtime': '548100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548101118 ms) 2026-01-06 04:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:28:40.710730+00:00', 'runtime': '548040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548101118 ms) 2026-01-06 04:30:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548120092 ms) 2026-01-06 04:30:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548120093 ms) 2026-01-06 04:30:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:29:40.713228+00:00'} (T+548120096 ms) 2026-01-06 04:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548160082 ms) 2026-01-06 04:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548160083 ms) 2026-01-06 04:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548160083 ms) 2026-01-06 04:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548160084 ms) 2026-01-06 04:30:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548161116 ms) 2026-01-06 04:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548161117 ms) 2026-01-06 04:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:30:40.710727+00:00', 'runtime': '548160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548161118 ms) 2026-01-06 04:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:29:40.710752+00:00', 'runtime': '548100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548161118 ms) 2026-01-06 04:31:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548180092 ms) 2026-01-06 04:31:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548180093 ms) 2026-01-06 04:31:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:30:40.713224+00:00'} (T+548180096 ms) 2026-01-06 04:31:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548220076 ms) 2026-01-06 04:31:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548220077 ms) 2026-01-06 04:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548220077 ms) 2026-01-06 04:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548220077 ms) 2026-01-06 04:31:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548221113 ms) 2026-01-06 04:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548221114 ms) 2026-01-06 04:31:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:31:40.710770+00:00', 'runtime': '548220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548221118 ms) 2026-01-06 04:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:30:40.710727+00:00', 'runtime': '548160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548221119 ms) 2026-01-06 04:32:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548240088 ms) 2026-01-06 04:32:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548240089 ms) 2026-01-06 04:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:31:40.710863+00:00'} (T+548240092 ms) 2026-01-06 04:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548280083 ms) 2026-01-06 04:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548280084 ms) 2026-01-06 04:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548280084 ms) 2026-01-06 04:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548280084 ms) 2026-01-06 04:32:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548281116 ms) 2026-01-06 04:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548281116 ms) 2026-01-06 04:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:32:40.710736+00:00', 'runtime': '548280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548281117 ms) 2026-01-06 04:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:31:40.710770+00:00', 'runtime': '548220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548281118 ms) 2026-01-06 04:33:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548300087 ms) 2026-01-06 04:33:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548300088 ms) 2026-01-06 04:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:32:40.710812+00:00'} (T+548300091 ms) 2026-01-06 04:33:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548340077 ms) 2026-01-06 04:33:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548340077 ms) 2026-01-06 04:33:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548340078 ms) 2026-01-06 04:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548340078 ms) 2026-01-06 04:33:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548341112 ms) 2026-01-06 04:33:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548341113 ms) 2026-01-06 04:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:33:40.710724+00:00', 'runtime': '548340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548341115 ms) 2026-01-06 04:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:32:40.710736+00:00', 'runtime': '548280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548341116 ms) 2026-01-06 04:34:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548360089 ms) 2026-01-06 04:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548360090 ms) 2026-01-06 04:34:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:33:40.710846+00:00'} (T+548360093 ms) 2026-01-06 04:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548400082 ms) 2026-01-06 04:34:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548400083 ms) 2026-01-06 04:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548400083 ms) 2026-01-06 04:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548400083 ms) 2026-01-06 04:34:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548401121 ms) 2026-01-06 04:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548401122 ms) 2026-01-06 04:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:34:40.710740+00:00', 'runtime': '548400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548401125 ms) 2026-01-06 04:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:33:40.710724+00:00', 'runtime': '548340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548401126 ms) 2026-01-06 04:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548420090 ms) 2026-01-06 04:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548420091 ms) 2026-01-06 04:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:34:40.710855+00:00'} (T+548420094 ms) 2026-01-06 04:35:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548460077 ms) 2026-01-06 04:35:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548460078 ms) 2026-01-06 04:35:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548460078 ms) 2026-01-06 04:35:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548460078 ms) 2026-01-06 04:35:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548461114 ms) 2026-01-06 04:35:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548461115 ms) 2026-01-06 04:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:35:40.710734+00:00', 'runtime': '548460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548461117 ms) 2026-01-06 04:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:34:40.710740+00:00', 'runtime': '548400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548461118 ms) 2026-01-06 04:36:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548480087 ms) 2026-01-06 04:36:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548480088 ms) 2026-01-06 04:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:35:40.710852+00:00'} (T+548480091 ms) 2026-01-06 04:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548520082 ms) 2026-01-06 04:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548520083 ms) 2026-01-06 04:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548520083 ms) 2026-01-06 04:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548520084 ms) 2026-01-06 04:36:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548521121 ms) 2026-01-06 04:36:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548521122 ms) 2026-01-06 04:36:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:36:40.710771+00:00', 'runtime': '548520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548521125 ms) 2026-01-06 04:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:35:40.710734+00:00', 'runtime': '548460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548521125 ms) 2026-01-06 04:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548540091 ms) 2026-01-06 04:37:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548540092 ms) 2026-01-06 04:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:36:40.710857+00:00'} (T+548540095 ms) 2026-01-06 04:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548580083 ms) 2026-01-06 04:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548580083 ms) 2026-01-06 04:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548580084 ms) 2026-01-06 04:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548580084 ms) 2026-01-06 04:37:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548581119 ms) 2026-01-06 04:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548581120 ms) 2026-01-06 04:37:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:37:40.710703+00:00', 'runtime': '548580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548581120 ms) 2026-01-06 04:37:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:36:40.710771+00:00', 'runtime': '548520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548581121 ms) 2026-01-06 04:38:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548600090 ms) 2026-01-06 04:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548600091 ms) 2026-01-06 04:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:37:40.710838+00:00'} (T+548600094 ms) 2026-01-06 04:38:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548640078 ms) 2026-01-06 04:38:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548640078 ms) 2026-01-06 04:38:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548640079 ms) 2026-01-06 04:38:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548640079 ms) 2026-01-06 04:38:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548641116 ms) 2026-01-06 04:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548641117 ms) 2026-01-06 04:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:38:40.710750+00:00', 'runtime': '548640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548641119 ms) 2026-01-06 04:38:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:37:40.710703+00:00', 'runtime': '548580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548641123 ms) 2026-01-06 04:39:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548660087 ms) 2026-01-06 04:39:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548660088 ms) 2026-01-06 04:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:38:40.713235+00:00'} (T+548660095 ms) 2026-01-06 04:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548700083 ms) 2026-01-06 04:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548700083 ms) 2026-01-06 04:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548700084 ms) 2026-01-06 04:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548700084 ms) 2026-01-06 04:39:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548701123 ms) 2026-01-06 04:39:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548701124 ms) 2026-01-06 04:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:39:40.710758+00:00', 'runtime': '548700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548701126 ms) 2026-01-06 04:39:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:38:40.710750+00:00', 'runtime': '548640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548701126 ms) 2026-01-06 04:40:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548720092 ms) 2026-01-06 04:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548720093 ms) 2026-01-06 04:40:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:39:40.713237+00:00'} (T+548720098 ms) 2026-01-06 04:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548760082 ms) 2026-01-06 04:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548760083 ms) 2026-01-06 04:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548760083 ms) 2026-01-06 04:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548760084 ms) 2026-01-06 04:40:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548761123 ms) 2026-01-06 04:40:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548761124 ms) 2026-01-06 04:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:40:40.710775+00:00', 'runtime': '548760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548761126 ms) 2026-01-06 04:40:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:39:40.710758+00:00', 'runtime': '548700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548761127 ms) 2026-01-06 04:41:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548780092 ms) 2026-01-06 04:41:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548780094 ms) 2026-01-06 04:41:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:40:40.713240+00:00'} (T+548780097 ms) 2026-01-06 04:41:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548820083 ms) 2026-01-06 04:41:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548820084 ms) 2026-01-06 04:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548820084 ms) 2026-01-06 04:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548820084 ms) 2026-01-06 04:41:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548821116 ms) 2026-01-06 04:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548821117 ms) 2026-01-06 04:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:41:40.710695+00:00', 'runtime': '548820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548821118 ms) 2026-01-06 04:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:40:40.710775+00:00', 'runtime': '548760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548821119 ms) 2026-01-06 04:42:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548840091 ms) 2026-01-06 04:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548840092 ms) 2026-01-06 04:42:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:41:40.710837+00:00'} (T+548840095 ms) 2026-01-06 04:42:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548880082 ms) 2026-01-06 04:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548880083 ms) 2026-01-06 04:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548880083 ms) 2026-01-06 04:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548880084 ms) 2026-01-06 04:42:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548881114 ms) 2026-01-06 04:42:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548881114 ms) 2026-01-06 04:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:42:40.710718+00:00', 'runtime': '548880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548881115 ms) 2026-01-06 04:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:41:40.710695+00:00', 'runtime': '548820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548881116 ms) 2026-01-06 04:43:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548900087 ms) 2026-01-06 04:43:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548900088 ms) 2026-01-06 04:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:42:40.710888+00:00'} (T+548900091 ms) 2026-01-06 04:43:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+548940085 ms) 2026-01-06 04:43:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+548940085 ms) 2026-01-06 04:43:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+548940085 ms) 2026-01-06 04:43:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+548940086 ms) 2026-01-06 04:43:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+548941118 ms) 2026-01-06 04:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+548941119 ms) 2026-01-06 04:43:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:43:40.713168+00:00', 'runtime': '548940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548941121 ms) 2026-01-06 04:43:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:42:40.710718+00:00', 'runtime': '548880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+548941121 ms) 2026-01-06 04:44:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548960088 ms) 2026-01-06 04:44:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+548960089 ms) 2026-01-06 04:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:43:40.710830+00:00'} (T+548960092 ms) 2026-01-06 04:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549000082 ms) 2026-01-06 04:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549000083 ms) 2026-01-06 04:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549000083 ms) 2026-01-06 04:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549000083 ms) 2026-01-06 04:44:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549001120 ms) 2026-01-06 04:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549001120 ms) 2026-01-06 04:44:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:44:40.710764+00:00', 'runtime': '549000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549001122 ms) 2026-01-06 04:44:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:43:40.713168+00:00', 'runtime': '548940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549001122 ms) 2026-01-06 04:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549020090 ms) 2026-01-06 04:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549020091 ms) 2026-01-06 04:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:44:40.710853+00:00'} (T+549020094 ms) 2026-01-06 04:45:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549060078 ms) 2026-01-06 04:45:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549060079 ms) 2026-01-06 04:45:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549060079 ms) 2026-01-06 04:45:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549060079 ms) 2026-01-06 04:45:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549061115 ms) 2026-01-06 04:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549061116 ms) 2026-01-06 04:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:45:40.710725+00:00', 'runtime': '549060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549061119 ms) 2026-01-06 04:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:44:40.710764+00:00', 'runtime': '549000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549061120 ms) 2026-01-06 04:46:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549080087 ms) 2026-01-06 04:46:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549080088 ms) 2026-01-06 04:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:45:40.710850+00:00'} (T+549080091 ms) 2026-01-06 04:46:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549120076 ms) 2026-01-06 04:46:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549120077 ms) 2026-01-06 04:46:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549120077 ms) 2026-01-06 04:46:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549120077 ms) 2026-01-06 04:46:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549121113 ms) 2026-01-06 04:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549121114 ms) 2026-01-06 04:46:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:46:40.710704+00:00', 'runtime': '549120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549121116 ms) 2026-01-06 04:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:45:40.710725+00:00', 'runtime': '549060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549121117 ms) 2026-01-06 04:47:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549140088 ms) 2026-01-06 04:47:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549140089 ms) 2026-01-06 04:47:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:46:40.710826+00:00'} (T+549140092 ms) 2026-01-06 04:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549180083 ms) 2026-01-06 04:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549180084 ms) 2026-01-06 04:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549180084 ms) 2026-01-06 04:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549180084 ms) 2026-01-06 04:47:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549181121 ms) 2026-01-06 04:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549181121 ms) 2026-01-06 04:47:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:47:40.713156+00:00', 'runtime': '549180.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549181123 ms) 2026-01-06 04:47:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:46:40.710704+00:00', 'runtime': '549120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549181124 ms) 2026-01-06 04:48:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549200090 ms) 2026-01-06 04:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549200091 ms) 2026-01-06 04:48:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:47:40.710811+00:00'} (T+549200094 ms) 2026-01-06 04:48:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549240084 ms) 2026-01-06 04:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549240084 ms) 2026-01-06 04:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549240085 ms) 2026-01-06 04:48:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549240085 ms) 2026-01-06 04:48:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549241123 ms) 2026-01-06 04:48:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549241124 ms) 2026-01-06 04:48:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:48:40.710757+00:00', 'runtime': '549240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549241126 ms) 2026-01-06 04:48:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:47:40.713156+00:00', 'runtime': '549180.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549241127 ms) 2026-01-06 04:49:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549260092 ms) 2026-01-06 04:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549260094 ms) 2026-01-06 04:49:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:48:40.713233+00:00'} (T+549260096 ms) 2026-01-06 04:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549300083 ms) 2026-01-06 04:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549300083 ms) 2026-01-06 04:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549300083 ms) 2026-01-06 04:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549300083 ms) 2026-01-06 04:49:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549301117 ms) 2026-01-06 04:49:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549301118 ms) 2026-01-06 04:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:49:40.710742+00:00', 'runtime': '549300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549301120 ms) 2026-01-06 04:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:48:40.710757+00:00', 'runtime': '549240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549301121 ms) 2026-01-06 04:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549320090 ms) 2026-01-06 04:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549320091 ms) 2026-01-06 04:50:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:49:40.710864+00:00'} (T+549320094 ms) 2026-01-06 04:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549360083 ms) 2026-01-06 04:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549360084 ms) 2026-01-06 04:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549360084 ms) 2026-01-06 04:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549360084 ms) 2026-01-06 04:50:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549361117 ms) 2026-01-06 04:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549361117 ms) 2026-01-06 04:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:50:40.710712+00:00', 'runtime': '549360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549361118 ms) 2026-01-06 04:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:49:40.710742+00:00', 'runtime': '549300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549361119 ms) 2026-01-06 04:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549380090 ms) 2026-01-06 04:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549380091 ms) 2026-01-06 04:51:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:50:40.713245+00:00'} (T+549380094 ms) 2026-01-06 04:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549420082 ms) 2026-01-06 04:51:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549420083 ms) 2026-01-06 04:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549420083 ms) 2026-01-06 04:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549420083 ms) 2026-01-06 04:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549421119 ms) 2026-01-06 04:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549421119 ms) 2026-01-06 04:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:51:40.710730+00:00', 'runtime': '549420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549421120 ms) 2026-01-06 04:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:50:40.710712+00:00', 'runtime': '549360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549421121 ms) 2026-01-06 04:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549440090 ms) 2026-01-06 04:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549440091 ms) 2026-01-06 04:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:51:40.710856+00:00'} (T+549440094 ms) 2026-01-06 04:52:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549480083 ms) 2026-01-06 04:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549480084 ms) 2026-01-06 04:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549480084 ms) 2026-01-06 04:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549480084 ms) 2026-01-06 04:52:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549481123 ms) 2026-01-06 04:52:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549481124 ms) 2026-01-06 04:52:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:52:40.710758+00:00', 'runtime': '549480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549481127 ms) 2026-01-06 04:52:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:51:40.710730+00:00', 'runtime': '549420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549481128 ms) 2026-01-06 04:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549500087 ms) 2026-01-06 04:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549500088 ms) 2026-01-06 04:53:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:52:40.710847+00:00'} (T+549500090 ms) 2026-01-06 04:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549540082 ms) 2026-01-06 04:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549540083 ms) 2026-01-06 04:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549540083 ms) 2026-01-06 04:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549540084 ms) 2026-01-06 04:53:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549541116 ms) 2026-01-06 04:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549541117 ms) 2026-01-06 04:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:53:40.710787+00:00', 'runtime': '549540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549541118 ms) 2026-01-06 04:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:52:40.710758+00:00', 'runtime': '549480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549541118 ms) 2026-01-06 04:54:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549560090 ms) 2026-01-06 04:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549560091 ms) 2026-01-06 04:54:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:53:40.710864+00:00'} (T+549560093 ms) 2026-01-06 04:54:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549600078 ms) 2026-01-06 04:54:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549600078 ms) 2026-01-06 04:54:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549600079 ms) 2026-01-06 04:54:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549600079 ms) 2026-01-06 04:54:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549601117 ms) 2026-01-06 04:54:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549601118 ms) 2026-01-06 04:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:54:40.710744+00:00', 'runtime': '549600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549601120 ms) 2026-01-06 04:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:53:40.710787+00:00', 'runtime': '549540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549601121 ms) 2026-01-06 04:55:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549620088 ms) 2026-01-06 04:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549620090 ms) 2026-01-06 04:55:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:54:40.710853+00:00'} (T+549620092 ms) 2026-01-06 04:55:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549660083 ms) 2026-01-06 04:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549660083 ms) 2026-01-06 04:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549660084 ms) 2026-01-06 04:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549660084 ms) 2026-01-06 04:55:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549661119 ms) 2026-01-06 04:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549661120 ms) 2026-01-06 04:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:55:40.710718+00:00', 'runtime': '549660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549661121 ms) 2026-01-06 04:55:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:54:40.710744+00:00', 'runtime': '549600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549661121 ms) 2026-01-06 04:56:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549680090 ms) 2026-01-06 04:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549680092 ms) 2026-01-06 04:56:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:55:40.710814+00:00'} (T+549680094 ms) 2026-01-06 04:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549720083 ms) 2026-01-06 04:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549720084 ms) 2026-01-06 04:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549720084 ms) 2026-01-06 04:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549720084 ms) 2026-01-06 04:56:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549721119 ms) 2026-01-06 04:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549721119 ms) 2026-01-06 04:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:56:40.710760+00:00', 'runtime': '549720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549721120 ms) 2026-01-06 04:56:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:55:40.710718+00:00', 'runtime': '549660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549721121 ms) 2026-01-06 04:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549740090 ms) 2026-01-06 04:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549740091 ms) 2026-01-06 04:57:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:56:40.710845+00:00'} (T+549740094 ms) 2026-01-06 04:57:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549780084 ms) 2026-01-06 04:57:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549780085 ms) 2026-01-06 04:57:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549780085 ms) 2026-01-06 04:57:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549780086 ms) 2026-01-06 04:57:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549781124 ms) 2026-01-06 04:57:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549781125 ms) 2026-01-06 04:57:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:57:40.713184+00:00', 'runtime': '549780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549781129 ms) 2026-01-06 04:57:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:56:40.710760+00:00', 'runtime': '549720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549781130 ms) 2026-01-06 04:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549800090 ms) 2026-01-06 04:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549800091 ms) 2026-01-06 04:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:57:40.710847+00:00'} (T+549800094 ms) 2026-01-06 04:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549840083 ms) 2026-01-06 04:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549840083 ms) 2026-01-06 04:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549840084 ms) 2026-01-06 04:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549840084 ms) 2026-01-06 04:58:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549841113 ms) 2026-01-06 04:58:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549841113 ms) 2026-01-06 04:58:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:58:40.710700+00:00', 'runtime': '549840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549841114 ms) 2026-01-06 04:58:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:57:40.713184+00:00', 'runtime': '549780.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549841115 ms) 2026-01-06 04:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549860090 ms) 2026-01-06 04:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549860091 ms) 2026-01-06 04:59:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:58:40.710842+00:00'} (T+549860094 ms) 2026-01-06 04:59:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549900080 ms) 2026-01-06 04:59:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549900081 ms) 2026-01-06 04:59:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549900081 ms) 2026-01-06 04:59:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549900082 ms) 2026-01-06 04:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549901116 ms) 2026-01-06 04:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549901117 ms) 2026-01-06 04:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 04:59:40.713171+00:00', 'runtime': '549900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549901120 ms) 2026-01-06 04:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:58:40.710700+00:00', 'runtime': '549840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549901120 ms) 2026-01-06 05:00:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549920090 ms) 2026-01-06 05:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549920091 ms) 2026-01-06 05:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 04:59:40.710826+00:00'} (T+549920094 ms) 2026-01-06 05:00:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+549960083 ms) 2026-01-06 05:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+549960083 ms) 2026-01-06 05:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+549960084 ms) 2026-01-06 05:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+549960084 ms) 2026-01-06 05:00:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+549961124 ms) 2026-01-06 05:00:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+549961125 ms) 2026-01-06 05:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:00:40.710739+00:00', 'runtime': '549960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549961127 ms) 2026-01-06 05:00:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 04:59:40.713171+00:00', 'runtime': '549900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+549961128 ms) 2026-01-06 05:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549980090 ms) 2026-01-06 05:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+549980091 ms) 2026-01-06 05:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:00:40.710827+00:00'} (T+549980094 ms) 2026-01-06 05:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550020083 ms) 2026-01-06 05:01:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550020084 ms) 2026-01-06 05:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550020084 ms) 2026-01-06 05:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550020085 ms) 2026-01-06 05:01:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550021118 ms) 2026-01-06 05:01:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550021119 ms) 2026-01-06 05:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:01:40.710697+00:00', 'runtime': '550020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550021121 ms) 2026-01-06 05:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:00:40.710739+00:00', 'runtime': '549960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550021122 ms) 2026-01-06 05:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550040090 ms) 2026-01-06 05:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550040091 ms) 2026-01-06 05:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:01:40.710847+00:00'} (T+550040094 ms) 2026-01-06 05:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550080083 ms) 2026-01-06 05:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550080083 ms) 2026-01-06 05:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550080084 ms) 2026-01-06 05:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550080084 ms) 2026-01-06 05:02:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550081122 ms) 2026-01-06 05:02:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550081123 ms) 2026-01-06 05:02:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:02:40.710750+00:00', 'runtime': '550080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550081125 ms) 2026-01-06 05:02:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:01:40.710697+00:00', 'runtime': '550020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550081126 ms) 2026-01-06 05:03:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550100087 ms) 2026-01-06 05:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550100088 ms) 2026-01-06 05:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:02:40.710860+00:00'} (T+550100091 ms) 2026-01-06 05:03:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550140076 ms) 2026-01-06 05:03:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550140077 ms) 2026-01-06 05:03:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550140077 ms) 2026-01-06 05:03:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550140077 ms) 2026-01-06 05:03:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550141112 ms) 2026-01-06 05:03:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550141113 ms) 2026-01-06 05:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:03:40.710707+00:00', 'runtime': '550140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550141116 ms) 2026-01-06 05:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:02:40.710750+00:00', 'runtime': '550080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550141117 ms) 2026-01-06 05:04:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550160088 ms) 2026-01-06 05:04:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550160089 ms) 2026-01-06 05:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:03:40.710851+00:00'} (T+550160092 ms) 2026-01-06 05:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550200083 ms) 2026-01-06 05:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550200083 ms) 2026-01-06 05:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550200084 ms) 2026-01-06 05:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550200084 ms) 2026-01-06 05:04:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550201116 ms) 2026-01-06 05:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550201117 ms) 2026-01-06 05:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:04:40.710730+00:00', 'runtime': '550200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550201118 ms) 2026-01-06 05:04:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:03:40.710707+00:00', 'runtime': '550140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550201118 ms) 2026-01-06 05:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550220090 ms) 2026-01-06 05:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550220091 ms) 2026-01-06 05:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:04:40.710854+00:00'} (T+550220094 ms) 2026-01-06 05:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550260083 ms) 2026-01-06 05:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550260083 ms) 2026-01-06 05:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550260084 ms) 2026-01-06 05:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550260084 ms) 2026-01-06 05:05:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550261121 ms) 2026-01-06 05:05:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550261122 ms) 2026-01-06 05:05:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:05:40.710752+00:00', 'runtime': '550260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550261124 ms) 2026-01-06 05:05:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:04:40.710730+00:00', 'runtime': '550200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550261125 ms) 2026-01-06 05:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550280091 ms) 2026-01-06 05:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550280092 ms) 2026-01-06 05:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:05:40.710835+00:00'} (T+550280094 ms) 2026-01-06 05:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550320083 ms) 2026-01-06 05:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550320083 ms) 2026-01-06 05:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550320084 ms) 2026-01-06 05:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550320084 ms) 2026-01-06 05:06:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550321123 ms) 2026-01-06 05:06:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550321124 ms) 2026-01-06 05:06:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:06:40.710745+00:00', 'runtime': '550320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550321127 ms) 2026-01-06 05:06:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:05:40.710752+00:00', 'runtime': '550260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550321128 ms) 2026-01-06 05:07:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550340091 ms) 2026-01-06 05:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550340092 ms) 2026-01-06 05:07:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:06:40.713244+00:00'} (T+550340098 ms) 2026-01-06 05:07:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550380076 ms) 2026-01-06 05:07:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550380077 ms) 2026-01-06 05:07:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550380077 ms) 2026-01-06 05:07:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550380077 ms) 2026-01-06 05:07:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550381114 ms) 2026-01-06 05:07:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550381115 ms) 2026-01-06 05:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:07:40.710719+00:00', 'runtime': '550380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550381117 ms) 2026-01-06 05:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:06:40.710745+00:00', 'runtime': '550320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550381118 ms) 2026-01-06 05:08:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550400088 ms) 2026-01-06 05:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550400089 ms) 2026-01-06 05:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:07:40.710860+00:00'} (T+550400092 ms) 2026-01-06 05:08:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550440054 ms) 2026-01-06 05:08:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550440054 ms) 2026-01-06 05:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550440054 ms) 2026-01-06 05:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550440054 ms) 2026-01-06 05:08:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550441080 ms) 2026-01-06 05:08:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550441080 ms) 2026-01-06 05:08:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:08:40.710519+00:00', 'runtime': '550440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550441082 ms) 2026-01-06 05:08:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:07:40.710719+00:00', 'runtime': '550380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550441082 ms) 2026-01-06 05:09:00.753 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550460074 ms) 2026-01-06 05:09:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550460075 ms) 2026-01-06 05:09:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:08:40.712956+00:00'} (T+550460078 ms) 2026-01-06 05:09:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550500077 ms) 2026-01-06 05:09:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550500077 ms) 2026-01-06 05:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550500077 ms) 2026-01-06 05:09:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550500078 ms) 2026-01-06 05:09:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550501112 ms) 2026-01-06 05:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550501114 ms) 2026-01-06 05:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:09:40.710746+00:00', 'runtime': '550500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550501116 ms) 2026-01-06 05:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:08:40.710519+00:00', 'runtime': '550440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550501117 ms) 2026-01-06 05:10:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550520088 ms) 2026-01-06 05:10:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550520090 ms) 2026-01-06 05:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:09:40.710857+00:00'} (T+550520093 ms) 2026-01-06 05:10:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550560083 ms) 2026-01-06 05:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550560083 ms) 2026-01-06 05:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550560084 ms) 2026-01-06 05:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550560084 ms) 2026-01-06 05:10:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550561124 ms) 2026-01-06 05:10:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550561125 ms) 2026-01-06 05:10:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:10:40.710736+00:00', 'runtime': '550560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550561127 ms) 2026-01-06 05:10:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:09:40.710746+00:00', 'runtime': '550500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550561127 ms) 2026-01-06 05:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550580090 ms) 2026-01-06 05:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550580091 ms) 2026-01-06 05:11:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:10:40.710857+00:00'} (T+550580093 ms) 2026-01-06 05:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550620082 ms) 2026-01-06 05:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550620083 ms) 2026-01-06 05:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550620083 ms) 2026-01-06 05:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550620084 ms) 2026-01-06 05:11:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550621119 ms) 2026-01-06 05:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550621120 ms) 2026-01-06 05:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:11:40.710734+00:00', 'runtime': '550620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550621120 ms) 2026-01-06 05:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:10:40.710736+00:00', 'runtime': '550560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550621121 ms) 2026-01-06 05:12:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550640088 ms) 2026-01-06 05:12:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550640089 ms) 2026-01-06 05:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:11:40.710860+00:00'} (T+550640092 ms) 2026-01-06 05:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550680082 ms) 2026-01-06 05:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550680083 ms) 2026-01-06 05:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550680083 ms) 2026-01-06 05:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550680084 ms) 2026-01-06 05:12:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550681117 ms) 2026-01-06 05:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550681117 ms) 2026-01-06 05:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:12:40.710799+00:00', 'runtime': '550680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550681118 ms) 2026-01-06 05:12:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:11:40.710734+00:00', 'runtime': '550620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550681120 ms) 2026-01-06 05:13:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550700088 ms) 2026-01-06 05:13:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550700089 ms) 2026-01-06 05:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:12:40.710884+00:00'} (T+550700091 ms) 2026-01-06 05:13:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550740053 ms) 2026-01-06 05:13:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550740054 ms) 2026-01-06 05:13:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550740054 ms) 2026-01-06 05:13:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550740054 ms) 2026-01-06 05:13:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550741081 ms) 2026-01-06 05:13:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550741082 ms) 2026-01-06 05:13:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:13:40.710531+00:00', 'runtime': '550740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550741083 ms) 2026-01-06 05:13:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:12:40.710799+00:00', 'runtime': '550680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550741083 ms) 2026-01-06 05:14:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550760068 ms) 2026-01-06 05:14:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550760069 ms) 2026-01-06 05:14:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:13:40.710608+00:00'} (T+550760072 ms) 2026-01-06 05:14:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550800082 ms) 2026-01-06 05:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550800083 ms) 2026-01-06 05:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550800083 ms) 2026-01-06 05:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550800084 ms) 2026-01-06 05:14:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550801124 ms) 2026-01-06 05:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550801125 ms) 2026-01-06 05:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:14:40.710819+00:00', 'runtime': '550800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550801127 ms) 2026-01-06 05:14:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:13:40.710531+00:00', 'runtime': '550740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550801128 ms) 2026-01-06 05:15:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550820091 ms) 2026-01-06 05:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550820092 ms) 2026-01-06 05:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:14:40.710897+00:00'} (T+550820094 ms) 2026-01-06 05:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550860082 ms) 2026-01-06 05:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550860083 ms) 2026-01-06 05:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550860083 ms) 2026-01-06 05:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550860084 ms) 2026-01-06 05:15:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550861116 ms) 2026-01-06 05:15:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550861116 ms) 2026-01-06 05:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:15:40.710733+00:00', 'runtime': '550860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550861117 ms) 2026-01-06 05:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:14:40.710819+00:00', 'runtime': '550800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550861118 ms) 2026-01-06 05:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550880090 ms) 2026-01-06 05:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550880091 ms) 2026-01-06 05:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:15:40.710851+00:00'} (T+550880094 ms) 2026-01-06 05:16:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550920078 ms) 2026-01-06 05:16:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550920078 ms) 2026-01-06 05:16:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550920079 ms) 2026-01-06 05:16:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550920079 ms) 2026-01-06 05:16:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550921115 ms) 2026-01-06 05:16:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550921116 ms) 2026-01-06 05:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:16:40.710728+00:00', 'runtime': '550920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550921119 ms) 2026-01-06 05:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:15:40.710733+00:00', 'runtime': '550860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550921119 ms) 2026-01-06 05:17:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550940087 ms) 2026-01-06 05:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+550940088 ms) 2026-01-06 05:17:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:16:40.710847+00:00'} (T+550940090 ms) 2026-01-06 05:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+550980083 ms) 2026-01-06 05:17:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+550980084 ms) 2026-01-06 05:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+550980084 ms) 2026-01-06 05:17:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+550980085 ms) 2026-01-06 05:17:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+550981123 ms) 2026-01-06 05:17:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+550981124 ms) 2026-01-06 05:17:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:17:40.710753+00:00', 'runtime': '550980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550981126 ms) 2026-01-06 05:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:16:40.710728+00:00', 'runtime': '550920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+550981127 ms) 2026-01-06 05:18:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551000092 ms) 2026-01-06 05:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551000093 ms) 2026-01-06 05:18:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:17:40.710859+00:00'} (T+551000096 ms) 2026-01-06 05:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551040083 ms) 2026-01-06 05:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551040084 ms) 2026-01-06 05:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551040084 ms) 2026-01-06 05:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551040084 ms) 2026-01-06 05:18:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551041119 ms) 2026-01-06 05:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551041120 ms) 2026-01-06 05:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:18:40.710728+00:00', 'runtime': '551040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551041121 ms) 2026-01-06 05:18:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:17:40.710753+00:00', 'runtime': '550980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551041121 ms) 2026-01-06 05:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551060091 ms) 2026-01-06 05:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551060092 ms) 2026-01-06 05:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:18:40.710844+00:00'} (T+551060094 ms) 2026-01-06 05:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551100082 ms) 2026-01-06 05:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551100083 ms) 2026-01-06 05:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551100083 ms) 2026-01-06 05:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551100084 ms) 2026-01-06 05:19:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551101116 ms) 2026-01-06 05:19:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551101116 ms) 2026-01-06 05:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:19:40.710716+00:00', 'runtime': '551100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551101117 ms) 2026-01-06 05:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:18:40.710728+00:00', 'runtime': '551040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551101118 ms) 2026-01-06 05:20:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551120088 ms) 2026-01-06 05:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551120089 ms) 2026-01-06 05:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:19:40.710845+00:00'} (T+551120092 ms) 2026-01-06 05:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551160082 ms) 2026-01-06 05:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551160083 ms) 2026-01-06 05:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551160083 ms) 2026-01-06 05:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551160084 ms) 2026-01-06 05:20:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551161117 ms) 2026-01-06 05:20:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551161117 ms) 2026-01-06 05:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:20:40.710741+00:00', 'runtime': '551160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551161118 ms) 2026-01-06 05:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:19:40.710716+00:00', 'runtime': '551100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551161119 ms) 2026-01-06 05:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551180090 ms) 2026-01-06 05:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551180091 ms) 2026-01-06 05:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:20:40.710845+00:00'} (T+551180093 ms) 2026-01-06 05:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551220082 ms) 2026-01-06 05:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551220083 ms) 2026-01-06 05:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551220083 ms) 2026-01-06 05:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551220084 ms) 2026-01-06 05:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551221114 ms) 2026-01-06 05:21:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551221114 ms) 2026-01-06 05:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:21:40.710734+00:00', 'runtime': '551220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551221115 ms) 2026-01-06 05:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:20:40.710741+00:00', 'runtime': '551160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551221116 ms) 2026-01-06 05:22:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551240087 ms) 2026-01-06 05:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551240088 ms) 2026-01-06 05:22:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:21:40.710847+00:00'} (T+551240090 ms) 2026-01-06 05:22:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551280077 ms) 2026-01-06 05:22:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551280077 ms) 2026-01-06 05:22:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551280077 ms) 2026-01-06 05:22:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551280078 ms) 2026-01-06 05:22:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551281111 ms) 2026-01-06 05:22:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551281112 ms) 2026-01-06 05:22:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:22:40.710712+00:00', 'runtime': '551280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551281113 ms) 2026-01-06 05:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:21:40.710734+00:00', 'runtime': '551220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551281114 ms) 2026-01-06 05:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551300090 ms) 2026-01-06 05:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551300091 ms) 2026-01-06 05:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:22:40.710818+00:00'} (T+551300094 ms) 2026-01-06 05:23:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551340054 ms) 2026-01-06 05:23:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551340054 ms) 2026-01-06 05:23:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551340054 ms) 2026-01-06 05:23:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551340054 ms) 2026-01-06 05:23:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551341080 ms) 2026-01-06 05:23:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551341080 ms) 2026-01-06 05:23:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:23:40.710540+00:00', 'runtime': '551340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551341081 ms) 2026-01-06 05:23:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:22:40.710712+00:00', 'runtime': '551280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551341081 ms) 2026-01-06 05:24:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551360072 ms) 2026-01-06 05:24:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551360073 ms) 2026-01-06 05:24:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:23:40.710615+00:00'} (T+551360076 ms) 2026-01-06 05:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551400083 ms) 2026-01-06 05:24:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551400084 ms) 2026-01-06 05:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551400084 ms) 2026-01-06 05:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551400084 ms) 2026-01-06 05:24:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551401122 ms) 2026-01-06 05:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551401123 ms) 2026-01-06 05:24:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:24:40.710777+00:00', 'runtime': '551400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551401125 ms) 2026-01-06 05:24:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:23:40.710540+00:00', 'runtime': '551340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551401126 ms) 2026-01-06 05:25:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551420093 ms) 2026-01-06 05:25:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551420094 ms) 2026-01-06 05:25:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:24:40.713230+00:00'} (T+551420097 ms) 2026-01-06 05:25:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551460082 ms) 2026-01-06 05:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551460083 ms) 2026-01-06 05:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551460083 ms) 2026-01-06 05:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551460084 ms) 2026-01-06 05:25:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551461121 ms) 2026-01-06 05:25:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551461122 ms) 2026-01-06 05:25:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:25:40.710727+00:00', 'runtime': '551460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551461124 ms) 2026-01-06 05:25:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:24:40.710777+00:00', 'runtime': '551400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551461125 ms) 2026-01-06 05:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551480088 ms) 2026-01-06 05:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551480089 ms) 2026-01-06 05:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:25:40.710850+00:00'} (T+551480092 ms) 2026-01-06 05:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551520082 ms) 2026-01-06 05:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551520083 ms) 2026-01-06 05:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551520083 ms) 2026-01-06 05:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551520084 ms) 2026-01-06 05:26:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551521120 ms) 2026-01-06 05:26:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551521120 ms) 2026-01-06 05:26:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:26:40.710734+00:00', 'runtime': '551520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551521121 ms) 2026-01-06 05:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:25:40.710727+00:00', 'runtime': '551460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551521123 ms) 2026-01-06 05:27:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551540091 ms) 2026-01-06 05:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551540092 ms) 2026-01-06 05:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:26:40.710859+00:00'} (T+551540094 ms) 2026-01-06 05:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551580083 ms) 2026-01-06 05:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551580083 ms) 2026-01-06 05:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551580083 ms) 2026-01-06 05:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551580084 ms) 2026-01-06 05:27:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551581117 ms) 2026-01-06 05:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551581118 ms) 2026-01-06 05:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:27:40.710745+00:00', 'runtime': '551580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551581119 ms) 2026-01-06 05:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:26:40.710734+00:00', 'runtime': '551520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551581120 ms) 2026-01-06 05:28:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551600092 ms) 2026-01-06 05:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551600093 ms) 2026-01-06 05:28:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:27:40.713244+00:00'} (T+551600096 ms) 2026-01-06 05:28:40.734 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551640056 ms) 2026-01-06 05:28:40.735 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551640056 ms) 2026-01-06 05:28:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551640056 ms) 2026-01-06 05:28:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551640056 ms) 2026-01-06 05:28:41.769 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551641090 ms) 2026-01-06 05:28:41.770 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551641091 ms) 2026-01-06 05:28:41.774 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:28:40.713066+00:00', 'runtime': '551640.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551641095 ms) 2026-01-06 05:28:41.775 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:27:40.710745+00:00', 'runtime': '551580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551641096 ms) 2026-01-06 05:29:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551660072 ms) 2026-01-06 05:29:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551660073 ms) 2026-01-06 05:29:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:28:40.710562+00:00'} (T+551660076 ms) 2026-01-06 05:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551700083 ms) 2026-01-06 05:29:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551700084 ms) 2026-01-06 05:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551700084 ms) 2026-01-06 05:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551700085 ms) 2026-01-06 05:29:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551701114 ms) 2026-01-06 05:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551701115 ms) 2026-01-06 05:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:29:40.710744+00:00', 'runtime': '551700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551701116 ms) 2026-01-06 05:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:28:40.713066+00:00', 'runtime': '551640.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551701116 ms) 2026-01-06 05:30:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551720087 ms) 2026-01-06 05:30:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551720088 ms) 2026-01-06 05:30:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:29:40.710871+00:00'} (T+551720090 ms) 2026-01-06 05:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551760083 ms) 2026-01-06 05:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551760083 ms) 2026-01-06 05:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551760083 ms) 2026-01-06 05:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551760084 ms) 2026-01-06 05:30:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551761119 ms) 2026-01-06 05:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551761120 ms) 2026-01-06 05:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:30:40.710750+00:00', 'runtime': '551760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551761121 ms) 2026-01-06 05:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:29:40.710744+00:00', 'runtime': '551700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551761121 ms) 2026-01-06 05:31:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551780086 ms) 2026-01-06 05:31:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551780088 ms) 2026-01-06 05:31:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:30:40.710867+00:00'} (T+551780090 ms) 2026-01-06 05:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551820082 ms) 2026-01-06 05:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551820083 ms) 2026-01-06 05:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551820083 ms) 2026-01-06 05:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551820084 ms) 2026-01-06 05:31:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551821116 ms) 2026-01-06 05:31:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551821117 ms) 2026-01-06 05:31:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:31:40.710741+00:00', 'runtime': '551820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551821118 ms) 2026-01-06 05:31:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:30:40.710750+00:00', 'runtime': '551760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551821118 ms) 2026-01-06 05:32:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551840091 ms) 2026-01-06 05:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551840092 ms) 2026-01-06 05:32:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:31:40.710849+00:00'} (T+551840095 ms) 2026-01-06 05:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551880082 ms) 2026-01-06 05:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551880083 ms) 2026-01-06 05:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551880083 ms) 2026-01-06 05:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551880084 ms) 2026-01-06 05:32:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551881124 ms) 2026-01-06 05:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551881125 ms) 2026-01-06 05:32:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:32:40.710741+00:00', 'runtime': '551880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551881127 ms) 2026-01-06 05:32:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:31:40.710741+00:00', 'runtime': '551820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551881128 ms) 2026-01-06 05:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551900090 ms) 2026-01-06 05:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551900091 ms) 2026-01-06 05:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:32:40.710839+00:00'} (T+551900094 ms) 2026-01-06 05:33:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+551940053 ms) 2026-01-06 05:33:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+551940054 ms) 2026-01-06 05:33:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+551940054 ms) 2026-01-06 05:33:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+551940054 ms) 2026-01-06 05:33:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+551941079 ms) 2026-01-06 05:33:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+551941080 ms) 2026-01-06 05:33:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:33:40.710514+00:00', 'runtime': '551940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551941081 ms) 2026-01-06 05:33:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:32:40.710741+00:00', 'runtime': '551880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+551941081 ms) 2026-01-06 05:34:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551960072 ms) 2026-01-06 05:34:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+551960073 ms) 2026-01-06 05:34:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:33:40.710605+00:00'} (T+551960076 ms) 2026-01-06 05:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552000082 ms) 2026-01-06 05:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552000083 ms) 2026-01-06 05:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552000083 ms) 2026-01-06 05:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552000084 ms) 2026-01-06 05:34:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552001124 ms) 2026-01-06 05:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552001125 ms) 2026-01-06 05:34:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:34:40.710804+00:00', 'runtime': '552000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552001127 ms) 2026-01-06 05:34:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:33:40.710514+00:00', 'runtime': '551940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552001128 ms) 2026-01-06 05:35:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552020087 ms) 2026-01-06 05:35:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552020088 ms) 2026-01-06 05:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:34:40.710905+00:00'} (T+552020091 ms) 2026-01-06 05:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552060083 ms) 2026-01-06 05:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552060083 ms) 2026-01-06 05:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552060084 ms) 2026-01-06 05:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552060084 ms) 2026-01-06 05:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552061117 ms) 2026-01-06 05:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552061117 ms) 2026-01-06 05:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:35:40.710724+00:00', 'runtime': '552060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552061118 ms) 2026-01-06 05:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:34:40.710804+00:00', 'runtime': '552000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552061119 ms) 2026-01-06 05:36:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552080091 ms) 2026-01-06 05:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552080092 ms) 2026-01-06 05:36:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:35:40.713232+00:00'} (T+552080095 ms) 2026-01-06 05:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552120084 ms) 2026-01-06 05:36:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552120084 ms) 2026-01-06 05:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552120084 ms) 2026-01-06 05:36:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552120085 ms) 2026-01-06 05:36:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552121120 ms) 2026-01-06 05:36:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552121121 ms) 2026-01-06 05:36:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:36:40.710758+00:00', 'runtime': '552120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552121124 ms) 2026-01-06 05:36:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:35:40.710724+00:00', 'runtime': '552060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552121124 ms) 2026-01-06 05:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552140090 ms) 2026-01-06 05:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552140091 ms) 2026-01-06 05:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:36:40.710838+00:00'} (T+552140094 ms) 2026-01-06 05:37:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552180077 ms) 2026-01-06 05:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552180077 ms) 2026-01-06 05:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552180078 ms) 2026-01-06 05:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552180078 ms) 2026-01-06 05:37:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552181115 ms) 2026-01-06 05:37:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552181116 ms) 2026-01-06 05:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:37:40.710697+00:00', 'runtime': '552180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552181118 ms) 2026-01-06 05:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:36:40.710758+00:00', 'runtime': '552120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552181118 ms) 2026-01-06 05:38:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552200089 ms) 2026-01-06 05:38:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552200090 ms) 2026-01-06 05:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:37:40.713230+00:00'} (T+552200094 ms) 2026-01-06 05:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552240083 ms) 2026-01-06 05:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552240083 ms) 2026-01-06 05:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552240084 ms) 2026-01-06 05:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552240084 ms) 2026-01-06 05:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552241117 ms) 2026-01-06 05:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552241118 ms) 2026-01-06 05:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:38:40.710763+00:00', 'runtime': '552240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552241119 ms) 2026-01-06 05:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:37:40.710697+00:00', 'runtime': '552180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552241119 ms) 2026-01-06 05:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552260088 ms) 2026-01-06 05:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552260089 ms) 2026-01-06 05:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:38:40.710843+00:00'} (T+552260092 ms) 2026-01-06 05:39:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552300078 ms) 2026-01-06 05:39:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552300078 ms) 2026-01-06 05:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552300079 ms) 2026-01-06 05:39:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552300079 ms) 2026-01-06 05:39:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552301115 ms) 2026-01-06 05:39:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552301116 ms) 2026-01-06 05:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:39:40.710762+00:00', 'runtime': '552300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552301119 ms) 2026-01-06 05:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:38:40.710763+00:00', 'runtime': '552240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552301120 ms) 2026-01-06 05:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552320090 ms) 2026-01-06 05:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552320092 ms) 2026-01-06 05:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:39:40.710854+00:00'} (T+552320095 ms) 2026-01-06 05:40:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552360084 ms) 2026-01-06 05:40:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552360085 ms) 2026-01-06 05:40:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552360085 ms) 2026-01-06 05:40:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552360085 ms) 2026-01-06 05:40:41.804 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552361126 ms) 2026-01-06 05:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552361127 ms) 2026-01-06 05:40:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:40:40.710767+00:00', 'runtime': '552360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552361129 ms) 2026-01-06 05:40:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:39:40.710762+00:00', 'runtime': '552300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552361129 ms) 2026-01-06 05:41:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552380087 ms) 2026-01-06 05:41:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552380088 ms) 2026-01-06 05:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:40:40.710848+00:00'} (T+552380091 ms) 2026-01-06 05:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552420082 ms) 2026-01-06 05:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552420083 ms) 2026-01-06 05:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552420083 ms) 2026-01-06 05:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552420084 ms) 2026-01-06 05:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552421118 ms) 2026-01-06 05:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552421118 ms) 2026-01-06 05:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:41:40.710712+00:00', 'runtime': '552420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552421120 ms) 2026-01-06 05:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:40:40.710767+00:00', 'runtime': '552360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552421120 ms) 2026-01-06 05:42:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552440091 ms) 2026-01-06 05:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552440092 ms) 2026-01-06 05:42:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:41:40.713235+00:00'} (T+552440095 ms) 2026-01-06 05:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552480083 ms) 2026-01-06 05:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552480084 ms) 2026-01-06 05:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552480084 ms) 2026-01-06 05:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552480084 ms) 2026-01-06 05:42:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552481122 ms) 2026-01-06 05:42:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552481123 ms) 2026-01-06 05:42:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:42:40.710721+00:00', 'runtime': '552480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552481125 ms) 2026-01-06 05:42:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:41:40.710712+00:00', 'runtime': '552420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552481126 ms) 2026-01-06 05:43:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552500092 ms) 2026-01-06 05:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552500094 ms) 2026-01-06 05:43:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:42:40.713236+00:00'} (T+552500098 ms) 2026-01-06 05:43:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552540054 ms) 2026-01-06 05:43:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552540054 ms) 2026-01-06 05:43:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552540054 ms) 2026-01-06 05:43:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552540054 ms) 2026-01-06 05:43:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552541082 ms) 2026-01-06 05:43:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552541082 ms) 2026-01-06 05:43:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:43:40.710559+00:00', 'runtime': '552540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552541084 ms) 2026-01-06 05:43:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:42:40.710721+00:00', 'runtime': '552480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552541084 ms) 2026-01-06 05:44:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552560068 ms) 2026-01-06 05:44:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552560070 ms) 2026-01-06 05:44:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:43:40.710615+00:00'} (T+552560073 ms) 2026-01-06 05:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552600083 ms) 2026-01-06 05:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552600084 ms) 2026-01-06 05:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552600084 ms) 2026-01-06 05:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552600085 ms) 2026-01-06 05:44:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552601116 ms) 2026-01-06 05:44:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552601117 ms) 2026-01-06 05:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:44:40.710787+00:00', 'runtime': '552600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552601118 ms) 2026-01-06 05:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:43:40.710559+00:00', 'runtime': '552540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552601118 ms) 2026-01-06 05:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552620090 ms) 2026-01-06 05:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552620091 ms) 2026-01-06 05:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:44:40.710874+00:00'} (T+552620094 ms) 2026-01-06 05:45:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552660078 ms) 2026-01-06 05:45:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552660079 ms) 2026-01-06 05:45:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552660079 ms) 2026-01-06 05:45:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552660080 ms) 2026-01-06 05:45:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552661119 ms) 2026-01-06 05:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552661120 ms) 2026-01-06 05:45:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:45:40.710721+00:00', 'runtime': '552660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552661122 ms) 2026-01-06 05:45:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:44:40.710787+00:00', 'runtime': '552600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552661123 ms) 2026-01-06 05:46:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552680088 ms) 2026-01-06 05:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552680090 ms) 2026-01-06 05:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:45:40.710843+00:00'} (T+552680093 ms) 2026-01-06 05:46:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552720085 ms) 2026-01-06 05:46:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552720086 ms) 2026-01-06 05:46:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552720087 ms) 2026-01-06 05:46:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552720087 ms) 2026-01-06 05:46:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552721116 ms) 2026-01-06 05:46:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552721116 ms) 2026-01-06 05:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:46:40.713161+00:00', 'runtime': '552720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552721118 ms) 2026-01-06 05:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:45:40.710721+00:00', 'runtime': '552660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552721119 ms) 2026-01-06 05:47:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552740091 ms) 2026-01-06 05:47:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552740092 ms) 2026-01-06 05:47:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:46:40.710781+00:00'} (T+552740095 ms) 2026-01-06 05:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552780083 ms) 2026-01-06 05:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552780084 ms) 2026-01-06 05:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552780084 ms) 2026-01-06 05:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552780084 ms) 2026-01-06 05:47:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552781119 ms) 2026-01-06 05:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552781119 ms) 2026-01-06 05:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:47:40.710738+00:00', 'runtime': '552780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552781121 ms) 2026-01-06 05:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:46:40.713161+00:00', 'runtime': '552720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552781121 ms) 2026-01-06 05:48:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552800089 ms) 2026-01-06 05:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552800090 ms) 2026-01-06 05:48:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:47:40.710837+00:00'} (T+552800095 ms) 2026-01-06 05:48:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552840080 ms) 2026-01-06 05:48:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552840081 ms) 2026-01-06 05:48:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552840081 ms) 2026-01-06 05:48:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552840081 ms) 2026-01-06 05:48:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552841116 ms) 2026-01-06 05:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552841117 ms) 2026-01-06 05:48:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:48:40.710749+00:00', 'runtime': '552840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552841119 ms) 2026-01-06 05:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:47:40.710738+00:00', 'runtime': '552780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552841120 ms) 2026-01-06 05:49:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552860092 ms) 2026-01-06 05:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552860094 ms) 2026-01-06 05:49:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:48:40.713248+00:00'} (T+552860097 ms) 2026-01-06 05:49:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552900076 ms) 2026-01-06 05:49:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552900076 ms) 2026-01-06 05:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552900077 ms) 2026-01-06 05:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552900077 ms) 2026-01-06 05:49:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552901112 ms) 2026-01-06 05:49:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552901112 ms) 2026-01-06 05:49:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:49:40.710720+00:00', 'runtime': '552900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552901114 ms) 2026-01-06 05:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:48:40.710749+00:00', 'runtime': '552840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552901115 ms) 2026-01-06 05:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552920087 ms) 2026-01-06 05:50:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552920088 ms) 2026-01-06 05:50:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:49:40.713238+00:00'} (T+552920094 ms) 2026-01-06 05:50:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+552960085 ms) 2026-01-06 05:50:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+552960085 ms) 2026-01-06 05:50:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+552960086 ms) 2026-01-06 05:50:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+552960086 ms) 2026-01-06 05:50:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+552961118 ms) 2026-01-06 05:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+552961119 ms) 2026-01-06 05:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:50:40.713179+00:00', 'runtime': '552960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552961120 ms) 2026-01-06 05:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:49:40.710720+00:00', 'runtime': '552900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+552961120 ms) 2026-01-06 05:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552980087 ms) 2026-01-06 05:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+552980088 ms) 2026-01-06 05:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:50:40.710814+00:00'} (T+552980091 ms) 2026-01-06 05:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553020083 ms) 2026-01-06 05:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553020084 ms) 2026-01-06 05:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553020084 ms) 2026-01-06 05:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553020084 ms) 2026-01-06 05:51:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553021115 ms) 2026-01-06 05:51:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553021115 ms) 2026-01-06 05:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:51:40.710703+00:00', 'runtime': '553020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553021116 ms) 2026-01-06 05:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:50:40.713179+00:00', 'runtime': '552960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553021116 ms) 2026-01-06 05:52:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553040093 ms) 2026-01-06 05:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553040094 ms) 2026-01-06 05:52:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:51:40.713234+00:00'} (T+553040097 ms) 2026-01-06 05:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553080082 ms) 2026-01-06 05:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553080083 ms) 2026-01-06 05:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553080083 ms) 2026-01-06 05:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553080083 ms) 2026-01-06 05:52:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553081124 ms) 2026-01-06 05:52:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553081125 ms) 2026-01-06 05:52:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:52:40.710751+00:00', 'runtime': '553080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553081129 ms) 2026-01-06 05:52:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:51:40.710703+00:00', 'runtime': '553020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553081129 ms) 2026-01-06 05:53:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553100085 ms) 2026-01-06 05:53:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553100086 ms) 2026-01-06 05:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:52:40.710849+00:00'} (T+553100089 ms) 2026-01-06 05:53:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553140054 ms) 2026-01-06 05:53:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553140054 ms) 2026-01-06 05:53:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553140054 ms) 2026-01-06 05:53:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553140054 ms) 2026-01-06 05:53:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553141081 ms) 2026-01-06 05:53:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553141081 ms) 2026-01-06 05:53:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:53:40.710517+00:00', 'runtime': '553140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553141082 ms) 2026-01-06 05:53:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:52:40.710751+00:00', 'runtime': '553080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553141083 ms) 2026-01-06 05:54:00.753 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553160074 ms) 2026-01-06 05:54:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553160075 ms) 2026-01-06 05:54:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:53:40.712955+00:00'} (T+553160078 ms) 2026-01-06 05:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553200083 ms) 2026-01-06 05:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553200083 ms) 2026-01-06 05:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553200083 ms) 2026-01-06 05:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553200084 ms) 2026-01-06 05:54:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553201120 ms) 2026-01-06 05:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553201120 ms) 2026-01-06 05:54:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:54:40.710803+00:00', 'runtime': '553200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553201121 ms) 2026-01-06 05:54:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:53:40.710517+00:00', 'runtime': '553140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553201123 ms) 2026-01-06 05:55:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553220092 ms) 2026-01-06 05:55:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553220094 ms) 2026-01-06 05:55:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:54:40.713239+00:00'} (T+553220096 ms) 2026-01-06 05:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553260082 ms) 2026-01-06 05:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553260083 ms) 2026-01-06 05:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553260083 ms) 2026-01-06 05:55:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553260084 ms) 2026-01-06 05:55:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553261117 ms) 2026-01-06 05:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553261118 ms) 2026-01-06 05:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:55:40.710728+00:00', 'runtime': '553260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553261118 ms) 2026-01-06 05:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:54:40.710803+00:00', 'runtime': '553200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553261119 ms) 2026-01-06 05:56:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553280091 ms) 2026-01-06 05:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553280092 ms) 2026-01-06 05:56:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:55:40.710841+00:00'} (T+553280095 ms) 2026-01-06 05:56:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553320077 ms) 2026-01-06 05:56:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553320078 ms) 2026-01-06 05:56:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553320078 ms) 2026-01-06 05:56:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553320078 ms) 2026-01-06 05:56:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553321112 ms) 2026-01-06 05:56:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553321113 ms) 2026-01-06 05:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:56:40.710716+00:00', 'runtime': '553320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553321115 ms) 2026-01-06 05:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:55:40.710728+00:00', 'runtime': '553260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553321118 ms) 2026-01-06 05:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553340090 ms) 2026-01-06 05:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553340091 ms) 2026-01-06 05:57:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:56:40.710841+00:00'} (T+553340094 ms) 2026-01-06 05:57:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553380076 ms) 2026-01-06 05:57:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553380077 ms) 2026-01-06 05:57:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553380077 ms) 2026-01-06 05:57:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553380077 ms) 2026-01-06 05:57:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553381112 ms) 2026-01-06 05:57:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553381113 ms) 2026-01-06 05:57:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:57:40.710739+00:00', 'runtime': '553380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553381116 ms) 2026-01-06 05:57:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:56:40.710716+00:00', 'runtime': '553320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553381116 ms) 2026-01-06 05:58:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553400089 ms) 2026-01-06 05:58:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553400090 ms) 2026-01-06 05:58:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:57:40.711829+00:00'} (T+553400093 ms) 2026-01-06 05:58:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553440054 ms) 2026-01-06 05:58:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553440054 ms) 2026-01-06 05:58:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553440054 ms) 2026-01-06 05:58:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553440054 ms) 2026-01-06 05:58:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553441080 ms) 2026-01-06 05:58:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553441080 ms) 2026-01-06 05:58:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:58:40.710517+00:00', 'runtime': '553440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553441081 ms) 2026-01-06 05:58:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:57:40.710739+00:00', 'runtime': '553380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553441082 ms) 2026-01-06 05:59:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553460068 ms) 2026-01-06 05:59:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553460070 ms) 2026-01-06 05:59:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:58:40.710598+00:00'} (T+553460072 ms) 2026-01-06 05:59:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553500080 ms) 2026-01-06 05:59:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553500080 ms) 2026-01-06 05:59:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553500080 ms) 2026-01-06 05:59:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553500081 ms) 2026-01-06 05:59:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553501115 ms) 2026-01-06 05:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553501116 ms) 2026-01-06 05:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 05:59:40.710789+00:00', 'runtime': '553500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553501118 ms) 2026-01-06 05:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:58:40.710517+00:00', 'runtime': '553440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553501119 ms) 2026-01-06 06:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553520088 ms) 2026-01-06 06:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553520089 ms) 2026-01-06 06:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 05:59:40.710877+00:00'} (T+553520092 ms) 2026-01-06 06:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553560082 ms) 2026-01-06 06:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553560083 ms) 2026-01-06 06:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553560083 ms) 2026-01-06 06:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553560084 ms) 2026-01-06 06:00:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553561114 ms) 2026-01-06 06:00:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553561115 ms) 2026-01-06 06:00:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:00:40.710725+00:00', 'runtime': '553560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553561116 ms) 2026-01-06 06:00:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 05:59:40.710789+00:00', 'runtime': '553500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553561116 ms) 2026-01-06 06:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553580090 ms) 2026-01-06 06:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553580091 ms) 2026-01-06 06:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:00:40.710860+00:00'} (T+553580094 ms) 2026-01-06 06:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553620082 ms) 2026-01-06 06:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553620083 ms) 2026-01-06 06:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553620083 ms) 2026-01-06 06:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553620084 ms) 2026-01-06 06:01:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553621121 ms) 2026-01-06 06:01:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553621122 ms) 2026-01-06 06:01:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:01:40.710789+00:00', 'runtime': '553620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553621125 ms) 2026-01-06 06:01:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:00:40.710725+00:00', 'runtime': '553560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553621126 ms) 2026-01-06 06:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553640090 ms) 2026-01-06 06:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553640091 ms) 2026-01-06 06:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:01:40.710888+00:00'} (T+553640094 ms) 2026-01-06 06:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553680083 ms) 2026-01-06 06:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553680083 ms) 2026-01-06 06:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553680084 ms) 2026-01-06 06:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553680084 ms) 2026-01-06 06:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553681116 ms) 2026-01-06 06:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553681117 ms) 2026-01-06 06:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:02:40.710754+00:00', 'runtime': '553680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553681118 ms) 2026-01-06 06:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:01:40.710789+00:00', 'runtime': '553620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553681118 ms) 2026-01-06 06:03:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553700092 ms) 2026-01-06 06:03:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553700093 ms) 2026-01-06 06:03:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:02:40.713243+00:00'} (T+553700096 ms) 2026-01-06 06:03:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553740054 ms) 2026-01-06 06:03:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553740054 ms) 2026-01-06 06:03:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553740054 ms) 2026-01-06 06:03:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553740054 ms) 2026-01-06 06:03:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553741081 ms) 2026-01-06 06:03:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553741082 ms) 2026-01-06 06:03:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:03:40.710543+00:00', 'runtime': '553740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553741083 ms) 2026-01-06 06:03:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:02:40.710754+00:00', 'runtime': '553680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553741084 ms) 2026-01-06 06:04:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553760068 ms) 2026-01-06 06:04:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553760069 ms) 2026-01-06 06:04:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:03:40.710607+00:00'} (T+553760072 ms) 2026-01-06 06:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553800083 ms) 2026-01-06 06:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553800084 ms) 2026-01-06 06:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553800084 ms) 2026-01-06 06:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553800084 ms) 2026-01-06 06:04:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553801116 ms) 2026-01-06 06:04:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553801116 ms) 2026-01-06 06:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:04:40.710808+00:00', 'runtime': '553800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553801117 ms) 2026-01-06 06:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:03:40.710543+00:00', 'runtime': '553740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553801118 ms) 2026-01-06 06:05:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553820089 ms) 2026-01-06 06:05:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553820090 ms) 2026-01-06 06:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:04:40.710891+00:00'} (T+553820093 ms) 2026-01-06 06:05:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553860084 ms) 2026-01-06 06:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553860084 ms) 2026-01-06 06:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553860085 ms) 2026-01-06 06:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553860085 ms) 2026-01-06 06:05:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553861119 ms) 2026-01-06 06:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553861120 ms) 2026-01-06 06:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:05:40.710751+00:00', 'runtime': '553860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553861121 ms) 2026-01-06 06:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:04:40.710808+00:00', 'runtime': '553800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553861121 ms) 2026-01-06 06:06:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553880088 ms) 2026-01-06 06:06:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553880089 ms) 2026-01-06 06:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:05:40.710836+00:00'} (T+553880094 ms) 2026-01-06 06:06:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553920077 ms) 2026-01-06 06:06:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553920078 ms) 2026-01-06 06:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553920078 ms) 2026-01-06 06:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553920078 ms) 2026-01-06 06:06:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553921114 ms) 2026-01-06 06:06:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553921115 ms) 2026-01-06 06:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:06:40.710723+00:00', 'runtime': '553920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553921117 ms) 2026-01-06 06:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:05:40.710751+00:00', 'runtime': '553860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553921118 ms) 2026-01-06 06:07:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553940085 ms) 2026-01-06 06:07:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+553940086 ms) 2026-01-06 06:07:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:06:40.710857+00:00'} (T+553940089 ms) 2026-01-06 06:07:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+553980077 ms) 2026-01-06 06:07:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+553980077 ms) 2026-01-06 06:07:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+553980078 ms) 2026-01-06 06:07:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+553980078 ms) 2026-01-06 06:07:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+553981113 ms) 2026-01-06 06:07:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+553981114 ms) 2026-01-06 06:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:07:40.710734+00:00', 'runtime': '553980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553981116 ms) 2026-01-06 06:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:06:40.710723+00:00', 'runtime': '553920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+553981117 ms) 2026-01-06 06:08:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554000089 ms) 2026-01-06 06:08:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554000090 ms) 2026-01-06 06:08:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:07:40.710854+00:00'} (T+554000093 ms) 2026-01-06 06:08:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554040054 ms) 2026-01-06 06:08:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554040054 ms) 2026-01-06 06:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554040054 ms) 2026-01-06 06:08:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554040054 ms) 2026-01-06 06:08:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554041082 ms) 2026-01-06 06:08:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554041082 ms) 2026-01-06 06:08:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:08:40.710527+00:00', 'runtime': '554040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554041083 ms) 2026-01-06 06:08:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:07:40.710734+00:00', 'runtime': '553980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554041084 ms) 2026-01-06 06:09:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554060072 ms) 2026-01-06 06:09:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554060073 ms) 2026-01-06 06:09:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:08:40.710598+00:00'} (T+554060076 ms) 2026-01-06 06:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554100083 ms) 2026-01-06 06:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554100083 ms) 2026-01-06 06:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554100084 ms) 2026-01-06 06:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554100084 ms) 2026-01-06 06:09:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554101122 ms) 2026-01-06 06:09:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554101122 ms) 2026-01-06 06:09:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:09:40.710796+00:00', 'runtime': '554100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554101124 ms) 2026-01-06 06:09:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:08:40.710527+00:00', 'runtime': '554040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554101124 ms) 2026-01-06 06:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554120090 ms) 2026-01-06 06:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554120091 ms) 2026-01-06 06:10:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:09:40.710869+00:00'} (T+554120093 ms) 2026-01-06 06:10:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554160082 ms) 2026-01-06 06:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554160083 ms) 2026-01-06 06:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554160083 ms) 2026-01-06 06:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554160084 ms) 2026-01-06 06:10:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554161121 ms) 2026-01-06 06:10:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554161122 ms) 2026-01-06 06:10:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:10:40.710742+00:00', 'runtime': '554160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554161124 ms) 2026-01-06 06:10:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:09:40.710796+00:00', 'runtime': '554100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554161125 ms) 2026-01-06 06:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554180090 ms) 2026-01-06 06:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554180091 ms) 2026-01-06 06:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:10:40.710852+00:00'} (T+554180094 ms) 2026-01-06 06:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554220083 ms) 2026-01-06 06:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554220084 ms) 2026-01-06 06:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554220084 ms) 2026-01-06 06:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554220084 ms) 2026-01-06 06:11:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554221114 ms) 2026-01-06 06:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554221115 ms) 2026-01-06 06:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:11:40.710701+00:00', 'runtime': '554220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554221116 ms) 2026-01-06 06:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:10:40.710742+00:00', 'runtime': '554160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554221116 ms) 2026-01-06 06:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554240090 ms) 2026-01-06 06:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554240092 ms) 2026-01-06 06:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:11:40.710861+00:00'} (T+554240094 ms) 2026-01-06 06:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554280082 ms) 2026-01-06 06:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554280083 ms) 2026-01-06 06:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554280083 ms) 2026-01-06 06:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554280084 ms) 2026-01-06 06:12:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554281116 ms) 2026-01-06 06:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554281116 ms) 2026-01-06 06:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:12:40.710742+00:00', 'runtime': '554280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554281117 ms) 2026-01-06 06:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:11:40.710701+00:00', 'runtime': '554220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554281117 ms) 2026-01-06 06:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554300090 ms) 2026-01-06 06:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554300091 ms) 2026-01-06 06:13:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:12:40.710852+00:00'} (T+554300093 ms) 2026-01-06 06:13:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554340054 ms) 2026-01-06 06:13:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554340054 ms) 2026-01-06 06:13:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554340054 ms) 2026-01-06 06:13:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554340054 ms) 2026-01-06 06:13:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554341079 ms) 2026-01-06 06:13:41.758 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554341080 ms) 2026-01-06 06:13:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:13:40.710545+00:00', 'runtime': '554340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554341080 ms) 2026-01-06 06:13:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:12:40.710742+00:00', 'runtime': '554280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554341081 ms) 2026-01-06 06:14:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554360072 ms) 2026-01-06 06:14:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554360073 ms) 2026-01-06 06:14:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:13:40.712963+00:00'} (T+554360075 ms) 2026-01-06 06:14:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554400082 ms) 2026-01-06 06:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554400083 ms) 2026-01-06 06:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554400083 ms) 2026-01-06 06:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554400084 ms) 2026-01-06 06:14:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554401118 ms) 2026-01-06 06:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554401119 ms) 2026-01-06 06:14:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:14:40.710809+00:00', 'runtime': '554400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554401120 ms) 2026-01-06 06:14:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:13:40.710545+00:00', 'runtime': '554340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554401120 ms) 2026-01-06 06:15:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554420091 ms) 2026-01-06 06:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554420092 ms) 2026-01-06 06:15:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:14:40.710903+00:00'} (T+554420094 ms) 2026-01-06 06:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554460083 ms) 2026-01-06 06:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554460083 ms) 2026-01-06 06:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554460084 ms) 2026-01-06 06:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554460084 ms) 2026-01-06 06:15:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554461122 ms) 2026-01-06 06:15:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554461123 ms) 2026-01-06 06:15:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:15:40.710755+00:00', 'runtime': '554460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554461125 ms) 2026-01-06 06:15:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:14:40.710809+00:00', 'runtime': '554400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554461126 ms) 2026-01-06 06:16:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554480091 ms) 2026-01-06 06:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554480092 ms) 2026-01-06 06:16:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:15:40.710850+00:00'} (T+554480095 ms) 2026-01-06 06:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554520082 ms) 2026-01-06 06:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554520083 ms) 2026-01-06 06:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554520083 ms) 2026-01-06 06:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554520084 ms) 2026-01-06 06:16:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554521112 ms) 2026-01-06 06:16:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554521113 ms) 2026-01-06 06:16:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:16:40.710698+00:00', 'runtime': '554520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554521114 ms) 2026-01-06 06:16:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:15:40.710755+00:00', 'runtime': '554460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554521114 ms) 2026-01-06 06:17:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554540091 ms) 2026-01-06 06:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554540092 ms) 2026-01-06 06:17:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:16:40.710852+00:00'} (T+554540095 ms) 2026-01-06 06:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554580082 ms) 2026-01-06 06:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554580083 ms) 2026-01-06 06:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554580083 ms) 2026-01-06 06:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554580084 ms) 2026-01-06 06:17:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554581118 ms) 2026-01-06 06:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554581119 ms) 2026-01-06 06:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:17:40.710740+00:00', 'runtime': '554580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554581120 ms) 2026-01-06 06:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:16:40.710698+00:00', 'runtime': '554520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554581120 ms) 2026-01-06 06:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554600088 ms) 2026-01-06 06:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554600089 ms) 2026-01-06 06:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:17:40.710845+00:00'} (T+554600092 ms) 2026-01-06 06:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554640083 ms) 2026-01-06 06:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554640084 ms) 2026-01-06 06:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554640084 ms) 2026-01-06 06:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554640084 ms) 2026-01-06 06:18:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554641113 ms) 2026-01-06 06:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554641114 ms) 2026-01-06 06:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:18:40.710720+00:00', 'runtime': '554640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554641115 ms) 2026-01-06 06:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:17:40.710740+00:00', 'runtime': '554580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554641115 ms) 2026-01-06 06:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554660090 ms) 2026-01-06 06:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554660092 ms) 2026-01-06 06:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:18:40.710823+00:00'} (T+554660094 ms) 2026-01-06 06:19:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554700084 ms) 2026-01-06 06:19:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554700085 ms) 2026-01-06 06:19:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554700085 ms) 2026-01-06 06:19:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554700086 ms) 2026-01-06 06:19:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554701117 ms) 2026-01-06 06:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554701117 ms) 2026-01-06 06:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:19:40.713172+00:00', 'runtime': '554700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554701118 ms) 2026-01-06 06:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:18:40.710720+00:00', 'runtime': '554640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554701119 ms) 2026-01-06 06:20:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554720092 ms) 2026-01-06 06:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554720093 ms) 2026-01-06 06:20:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:19:40.710845+00:00'} (T+554720096 ms) 2026-01-06 06:20:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554760077 ms) 2026-01-06 06:20:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554760077 ms) 2026-01-06 06:20:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554760078 ms) 2026-01-06 06:20:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554760078 ms) 2026-01-06 06:20:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554761114 ms) 2026-01-06 06:20:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554761115 ms) 2026-01-06 06:20:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:20:40.710737+00:00', 'runtime': '554760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554761117 ms) 2026-01-06 06:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:19:40.713172+00:00', 'runtime': '554700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554761118 ms) 2026-01-06 06:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554780090 ms) 2026-01-06 06:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554780091 ms) 2026-01-06 06:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:20:40.713237+00:00'} (T+554780093 ms) 2026-01-06 06:21:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554820083 ms) 2026-01-06 06:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554820083 ms) 2026-01-06 06:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554820084 ms) 2026-01-06 06:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554820084 ms) 2026-01-06 06:21:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554821119 ms) 2026-01-06 06:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554821119 ms) 2026-01-06 06:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:21:40.710741+00:00', 'runtime': '554820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554821120 ms) 2026-01-06 06:21:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:20:40.710737+00:00', 'runtime': '554760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554821121 ms) 2026-01-06 06:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554840088 ms) 2026-01-06 06:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554840089 ms) 2026-01-06 06:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:21:40.710852+00:00'} (T+554840092 ms) 2026-01-06 06:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554880083 ms) 2026-01-06 06:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554880083 ms) 2026-01-06 06:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554880083 ms) 2026-01-06 06:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554880084 ms) 2026-01-06 06:22:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554881114 ms) 2026-01-06 06:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554881115 ms) 2026-01-06 06:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:22:40.710741+00:00', 'runtime': '554880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554881116 ms) 2026-01-06 06:22:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:21:40.710741+00:00', 'runtime': '554820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554881116 ms) 2026-01-06 06:23:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554900085 ms) 2026-01-06 06:23:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554900086 ms) 2026-01-06 06:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:22:40.710860+00:00'} (T+554900089 ms) 2026-01-06 06:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+554940083 ms) 2026-01-06 06:23:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+554940084 ms) 2026-01-06 06:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+554940084 ms) 2026-01-06 06:23:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+554940085 ms) 2026-01-06 06:23:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+554941119 ms) 2026-01-06 06:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+554941120 ms) 2026-01-06 06:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:23:40.710733+00:00', 'runtime': '554940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554941121 ms) 2026-01-06 06:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:22:40.710741+00:00', 'runtime': '554880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+554941121 ms) 2026-01-06 06:24:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554960088 ms) 2026-01-06 06:24:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+554960089 ms) 2026-01-06 06:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:23:40.710846+00:00'} (T+554960092 ms) 2026-01-06 06:24:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555000075 ms) 2026-01-06 06:24:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555000076 ms) 2026-01-06 06:24:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555000076 ms) 2026-01-06 06:24:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555000076 ms) 2026-01-06 06:24:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555001115 ms) 2026-01-06 06:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555001116 ms) 2026-01-06 06:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:24:40.710721+00:00', 'runtime': '555000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555001119 ms) 2026-01-06 06:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:23:40.710733+00:00', 'runtime': '554940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555001120 ms) 2026-01-06 06:25:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555020088 ms) 2026-01-06 06:25:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555020089 ms) 2026-01-06 06:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:24:40.710861+00:00'} (T+555020092 ms) 2026-01-06 06:25:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555060084 ms) 2026-01-06 06:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555060085 ms) 2026-01-06 06:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555060085 ms) 2026-01-06 06:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555060085 ms) 2026-01-06 06:25:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555061120 ms) 2026-01-06 06:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555061120 ms) 2026-01-06 06:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:25:40.710759+00:00', 'runtime': '555060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555061121 ms) 2026-01-06 06:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:24:40.710721+00:00', 'runtime': '555000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555061121 ms) 2026-01-06 06:26:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555080092 ms) 2026-01-06 06:26:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555080094 ms) 2026-01-06 06:26:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:25:40.713244+00:00'} (T+555080096 ms) 2026-01-06 06:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555120083 ms) 2026-01-06 06:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555120084 ms) 2026-01-06 06:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555120084 ms) 2026-01-06 06:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555120084 ms) 2026-01-06 06:26:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555121117 ms) 2026-01-06 06:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555121118 ms) 2026-01-06 06:26:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:26:40.710729+00:00', 'runtime': '555120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555121119 ms) 2026-01-06 06:26:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:25:40.710759+00:00', 'runtime': '555060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555121119 ms) 2026-01-06 06:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555140090 ms) 2026-01-06 06:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555140091 ms) 2026-01-06 06:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:26:40.710847+00:00'} (T+555140094 ms) 2026-01-06 06:27:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555180077 ms) 2026-01-06 06:27:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555180077 ms) 2026-01-06 06:27:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555180077 ms) 2026-01-06 06:27:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555180078 ms) 2026-01-06 06:27:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555181112 ms) 2026-01-06 06:27:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555181113 ms) 2026-01-06 06:27:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:27:40.710736+00:00', 'runtime': '555180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555181115 ms) 2026-01-06 06:27:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:26:40.710729+00:00', 'runtime': '555120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555181116 ms) 2026-01-06 06:28:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555200088 ms) 2026-01-06 06:28:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555200089 ms) 2026-01-06 06:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:27:40.710867+00:00'} (T+555200091 ms) 2026-01-06 06:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555240082 ms) 2026-01-06 06:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555240083 ms) 2026-01-06 06:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555240083 ms) 2026-01-06 06:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555240084 ms) 2026-01-06 06:28:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555241116 ms) 2026-01-06 06:28:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555241116 ms) 2026-01-06 06:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:28:40.710726+00:00', 'runtime': '555240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555241117 ms) 2026-01-06 06:28:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:27:40.710736+00:00', 'runtime': '555180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555241118 ms) 2026-01-06 06:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555260091 ms) 2026-01-06 06:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555260092 ms) 2026-01-06 06:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:28:40.713234+00:00'} (T+555260094 ms) 2026-01-06 06:29:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555300076 ms) 2026-01-06 06:29:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555300077 ms) 2026-01-06 06:29:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555300077 ms) 2026-01-06 06:29:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555300077 ms) 2026-01-06 06:29:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555301112 ms) 2026-01-06 06:29:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555301113 ms) 2026-01-06 06:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:29:40.710735+00:00', 'runtime': '555300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555301116 ms) 2026-01-06 06:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:28:40.710726+00:00', 'runtime': '555240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555301116 ms) 2026-01-06 06:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555320088 ms) 2026-01-06 06:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555320089 ms) 2026-01-06 06:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:29:40.710861+00:00'} (T+555320092 ms) 2026-01-06 06:30:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555360079 ms) 2026-01-06 06:30:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555360079 ms) 2026-01-06 06:30:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555360079 ms) 2026-01-06 06:30:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555360080 ms) 2026-01-06 06:30:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555361119 ms) 2026-01-06 06:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555361120 ms) 2026-01-06 06:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:30:40.710717+00:00', 'runtime': '555360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555361122 ms) 2026-01-06 06:30:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:29:40.710735+00:00', 'runtime': '555300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555361122 ms) 2026-01-06 06:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555380090 ms) 2026-01-06 06:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555380091 ms) 2026-01-06 06:31:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:30:40.713231+00:00'} (T+555380097 ms) 2026-01-06 06:31:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555420076 ms) 2026-01-06 06:31:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555420076 ms) 2026-01-06 06:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555420077 ms) 2026-01-06 06:31:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555420077 ms) 2026-01-06 06:31:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555421111 ms) 2026-01-06 06:31:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555421112 ms) 2026-01-06 06:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:31:40.710725+00:00', 'runtime': '555420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555421114 ms) 2026-01-06 06:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:30:40.710717+00:00', 'runtime': '555360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555421115 ms) 2026-01-06 06:32:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555440088 ms) 2026-01-06 06:32:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555440089 ms) 2026-01-06 06:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:31:40.710832+00:00'} (T+555440092 ms) 2026-01-06 06:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555480083 ms) 2026-01-06 06:32:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555480084 ms) 2026-01-06 06:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555480084 ms) 2026-01-06 06:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555480085 ms) 2026-01-06 06:32:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555481122 ms) 2026-01-06 06:32:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555481123 ms) 2026-01-06 06:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:32:40.710730+00:00', 'runtime': '555480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555481126 ms) 2026-01-06 06:32:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:31:40.710725+00:00', 'runtime': '555420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555481127 ms) 2026-01-06 06:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555500090 ms) 2026-01-06 06:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555500091 ms) 2026-01-06 06:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:32:40.710813+00:00'} (T+555500094 ms) 2026-01-06 06:33:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555540075 ms) 2026-01-06 06:33:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555540076 ms) 2026-01-06 06:33:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555540076 ms) 2026-01-06 06:33:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555540076 ms) 2026-01-06 06:33:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555541115 ms) 2026-01-06 06:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555541116 ms) 2026-01-06 06:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:33:40.710714+00:00', 'runtime': '555540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555541119 ms) 2026-01-06 06:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:32:40.710730+00:00', 'runtime': '555480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555541120 ms) 2026-01-06 06:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555560087 ms) 2026-01-06 06:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555560088 ms) 2026-01-06 06:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:33:40.710846+00:00'} (T+555560091 ms) 2026-01-06 06:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555600084 ms) 2026-01-06 06:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555600084 ms) 2026-01-06 06:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555600085 ms) 2026-01-06 06:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555600085 ms) 2026-01-06 06:34:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555601119 ms) 2026-01-06 06:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555601119 ms) 2026-01-06 06:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:34:40.710753+00:00', 'runtime': '555600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555601120 ms) 2026-01-06 06:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:33:40.710714+00:00', 'runtime': '555540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555601121 ms) 2026-01-06 06:35:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555620093 ms) 2026-01-06 06:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555620094 ms) 2026-01-06 06:35:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:34:40.713223+00:00'} (T+555620096 ms) 2026-01-06 06:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555660083 ms) 2026-01-06 06:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555660084 ms) 2026-01-06 06:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555660084 ms) 2026-01-06 06:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555660084 ms) 2026-01-06 06:35:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555661124 ms) 2026-01-06 06:35:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555661125 ms) 2026-01-06 06:35:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:35:40.710770+00:00', 'runtime': '555660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555661127 ms) 2026-01-06 06:35:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:34:40.710753+00:00', 'runtime': '555600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555661128 ms) 2026-01-06 06:36:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555680089 ms) 2026-01-06 06:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555680090 ms) 2026-01-06 06:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:35:40.710856+00:00'} (T+555680093 ms) 2026-01-06 06:36:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555720085 ms) 2026-01-06 06:36:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555720086 ms) 2026-01-06 06:36:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555720086 ms) 2026-01-06 06:36:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555720087 ms) 2026-01-06 06:36:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555721119 ms) 2026-01-06 06:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555721120 ms) 2026-01-06 06:36:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:36:40.713196+00:00', 'runtime': '555720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555721121 ms) 2026-01-06 06:36:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:35:40.710770+00:00', 'runtime': '555660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555721121 ms) 2026-01-06 06:37:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555740091 ms) 2026-01-06 06:37:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555740092 ms) 2026-01-06 06:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:36:40.710786+00:00'} (T+555740095 ms) 2026-01-06 06:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555780082 ms) 2026-01-06 06:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555780083 ms) 2026-01-06 06:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555780083 ms) 2026-01-06 06:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555780084 ms) 2026-01-06 06:37:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555781117 ms) 2026-01-06 06:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555781118 ms) 2026-01-06 06:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:37:40.710787+00:00', 'runtime': '555780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555781119 ms) 2026-01-06 06:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:36:40.713196+00:00', 'runtime': '555720.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555781119 ms) 2026-01-06 06:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555800090 ms) 2026-01-06 06:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555800091 ms) 2026-01-06 06:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:37:40.710869+00:00'} (T+555800093 ms) 2026-01-06 06:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555840083 ms) 2026-01-06 06:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555840083 ms) 2026-01-06 06:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555840084 ms) 2026-01-06 06:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555840084 ms) 2026-01-06 06:38:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555841119 ms) 2026-01-06 06:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555841119 ms) 2026-01-06 06:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:38:40.710747+00:00', 'runtime': '555840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555841120 ms) 2026-01-06 06:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:37:40.710787+00:00', 'runtime': '555780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555841121 ms) 2026-01-06 06:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555860088 ms) 2026-01-06 06:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555860089 ms) 2026-01-06 06:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:38:40.710853+00:00'} (T+555860092 ms) 2026-01-06 06:39:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555900077 ms) 2026-01-06 06:39:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555900078 ms) 2026-01-06 06:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555900078 ms) 2026-01-06 06:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555900078 ms) 2026-01-06 06:39:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555901114 ms) 2026-01-06 06:39:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555901115 ms) 2026-01-06 06:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:39:40.710748+00:00', 'runtime': '555900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555901117 ms) 2026-01-06 06:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:38:40.710747+00:00', 'runtime': '555840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555901118 ms) 2026-01-06 06:40:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555920089 ms) 2026-01-06 06:40:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555920090 ms) 2026-01-06 06:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:39:40.710826+00:00'} (T+555920093 ms) 2026-01-06 06:40:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+555960077 ms) 2026-01-06 06:40:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+555960077 ms) 2026-01-06 06:40:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+555960078 ms) 2026-01-06 06:40:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+555960078 ms) 2026-01-06 06:40:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+555961116 ms) 2026-01-06 06:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+555961117 ms) 2026-01-06 06:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:40:40.710743+00:00', 'runtime': '555960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555961119 ms) 2026-01-06 06:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:39:40.710748+00:00', 'runtime': '555900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+555961119 ms) 2026-01-06 06:41:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555980085 ms) 2026-01-06 06:41:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+555980086 ms) 2026-01-06 06:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:40:40.710854+00:00'} (T+555980089 ms) 2026-01-06 06:41:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556020083 ms) 2026-01-06 06:41:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556020084 ms) 2026-01-06 06:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556020084 ms) 2026-01-06 06:41:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556020085 ms) 2026-01-06 06:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556021118 ms) 2026-01-06 06:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556021119 ms) 2026-01-06 06:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:41:40.710750+00:00', 'runtime': '556020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556021120 ms) 2026-01-06 06:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:40:40.710743+00:00', 'runtime': '555960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556021120 ms) 2026-01-06 06:42:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556040083 ms) 2026-01-06 06:42:00.762 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556040084 ms) 2026-01-06 06:42:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:41:40.710848+00:00'} (T+556040085 ms) 2026-01-06 06:42:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556080076 ms) 2026-01-06 06:42:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556080076 ms) 2026-01-06 06:42:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556080076 ms) 2026-01-06 06:42:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556080077 ms) 2026-01-06 06:42:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556081111 ms) 2026-01-06 06:42:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556081112 ms) 2026-01-06 06:42:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:42:40.710733+00:00', 'runtime': '556080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556081114 ms) 2026-01-06 06:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:41:40.710750+00:00', 'runtime': '556020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556081115 ms) 2026-01-06 06:43:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556100087 ms) 2026-01-06 06:43:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556100088 ms) 2026-01-06 06:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:42:40.710887+00:00'} (T+556100091 ms) 2026-01-06 06:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556140083 ms) 2026-01-06 06:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556140083 ms) 2026-01-06 06:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556140084 ms) 2026-01-06 06:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556140084 ms) 2026-01-06 06:43:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556141118 ms) 2026-01-06 06:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556141118 ms) 2026-01-06 06:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:43:40.710772+00:00', 'runtime': '556140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556141119 ms) 2026-01-06 06:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:42:40.710733+00:00', 'runtime': '556080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556141120 ms) 2026-01-06 06:44:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556160086 ms) 2026-01-06 06:44:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556160087 ms) 2026-01-06 06:44:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:43:40.710843+00:00'} (T+556160087 ms) 2026-01-06 06:44:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556200084 ms) 2026-01-06 06:44:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556200085 ms) 2026-01-06 06:44:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556200085 ms) 2026-01-06 06:44:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556200086 ms) 2026-01-06 06:44:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556201114 ms) 2026-01-06 06:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556201114 ms) 2026-01-06 06:44:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:44:40.713153+00:00', 'runtime': '556200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556201115 ms) 2026-01-06 06:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:43:40.710772+00:00', 'runtime': '556140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556201116 ms) 2026-01-06 06:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556220090 ms) 2026-01-06 06:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556220092 ms) 2026-01-06 06:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:44:40.710814+00:00'} (T+556220095 ms) 2026-01-06 06:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556260083 ms) 2026-01-06 06:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556260083 ms) 2026-01-06 06:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556260084 ms) 2026-01-06 06:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556260084 ms) 2026-01-06 06:45:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556261122 ms) 2026-01-06 06:45:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556261123 ms) 2026-01-06 06:45:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:45:40.710787+00:00', 'runtime': '556260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556261125 ms) 2026-01-06 06:45:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:44:40.713153+00:00', 'runtime': '556200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556261126 ms) 2026-01-06 06:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556280091 ms) 2026-01-06 06:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556280092 ms) 2026-01-06 06:46:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:45:40.710882+00:00'} (T+556280095 ms) 2026-01-06 06:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556320083 ms) 2026-01-06 06:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556320083 ms) 2026-01-06 06:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556320083 ms) 2026-01-06 06:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556320084 ms) 2026-01-06 06:46:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556321122 ms) 2026-01-06 06:46:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556321123 ms) 2026-01-06 06:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:46:40.710724+00:00', 'runtime': '556320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556321125 ms) 2026-01-06 06:46:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:45:40.710787+00:00', 'runtime': '556260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556321126 ms) 2026-01-06 06:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556340091 ms) 2026-01-06 06:47:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556340092 ms) 2026-01-06 06:47:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:46:40.710847+00:00'} (T+556340095 ms) 2026-01-06 06:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556380083 ms) 2026-01-06 06:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556380084 ms) 2026-01-06 06:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556380084 ms) 2026-01-06 06:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556380084 ms) 2026-01-06 06:47:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556381117 ms) 2026-01-06 06:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556381118 ms) 2026-01-06 06:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:47:40.710681+00:00', 'runtime': '556380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556381119 ms) 2026-01-06 06:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:46:40.710724+00:00', 'runtime': '556320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556381119 ms) 2026-01-06 06:48:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556400088 ms) 2026-01-06 06:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556400089 ms) 2026-01-06 06:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:47:40.710850+00:00'} (T+556400090 ms) 2026-01-06 06:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556440083 ms) 2026-01-06 06:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556440084 ms) 2026-01-06 06:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556440084 ms) 2026-01-06 06:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556440085 ms) 2026-01-06 06:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556441119 ms) 2026-01-06 06:48:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556441119 ms) 2026-01-06 06:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:48:40.710800+00:00', 'runtime': '556440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556441120 ms) 2026-01-06 06:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:47:40.710681+00:00', 'runtime': '556380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556441121 ms) 2026-01-06 06:49:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556460083 ms) 2026-01-06 06:49:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556460084 ms) 2026-01-06 06:49:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:48:40.710859+00:00'} (T+556460085 ms) 2026-01-06 06:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556500083 ms) 2026-01-06 06:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556500083 ms) 2026-01-06 06:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556500084 ms) 2026-01-06 06:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556500084 ms) 2026-01-06 06:49:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556501119 ms) 2026-01-06 06:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556501119 ms) 2026-01-06 06:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:49:40.710760+00:00', 'runtime': '556500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556501120 ms) 2026-01-06 06:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:48:40.710800+00:00', 'runtime': '556440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556501121 ms) 2026-01-06 06:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556520090 ms) 2026-01-06 06:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556520091 ms) 2026-01-06 06:50:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:49:40.710873+00:00'} (T+556520093 ms) 2026-01-06 06:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556560082 ms) 2026-01-06 06:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556560083 ms) 2026-01-06 06:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556560083 ms) 2026-01-06 06:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556560084 ms) 2026-01-06 06:50:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556561113 ms) 2026-01-06 06:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556561114 ms) 2026-01-06 06:50:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:50:40.710753+00:00', 'runtime': '556560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556561115 ms) 2026-01-06 06:50:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:49:40.710760+00:00', 'runtime': '556500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556561115 ms) 2026-01-06 06:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556580090 ms) 2026-01-06 06:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556580091 ms) 2026-01-06 06:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:50:40.710868+00:00'} (T+556580094 ms) 2026-01-06 06:51:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556620085 ms) 2026-01-06 06:51:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556620085 ms) 2026-01-06 06:51:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556620085 ms) 2026-01-06 06:51:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556620086 ms) 2026-01-06 06:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556621119 ms) 2026-01-06 06:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556621119 ms) 2026-01-06 06:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:51:40.713171+00:00', 'runtime': '556620.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556621120 ms) 2026-01-06 06:51:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:50:40.710753+00:00', 'runtime': '556560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556621121 ms) 2026-01-06 06:52:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556640088 ms) 2026-01-06 06:52:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556640089 ms) 2026-01-06 06:52:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:51:40.710856+00:00'} (T+556640092 ms) 2026-01-06 06:52:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556680076 ms) 2026-01-06 06:52:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556680077 ms) 2026-01-06 06:52:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556680077 ms) 2026-01-06 06:52:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556680077 ms) 2026-01-06 06:52:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556681112 ms) 2026-01-06 06:52:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556681113 ms) 2026-01-06 06:52:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:52:40.710735+00:00', 'runtime': '556680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556681115 ms) 2026-01-06 06:52:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:51:40.713171+00:00', 'runtime': '556620.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556681116 ms) 2026-01-06 06:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556700088 ms) 2026-01-06 06:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556700089 ms) 2026-01-06 06:53:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:52:40.710846+00:00'} (T+556700092 ms) 2026-01-06 06:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556740082 ms) 2026-01-06 06:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556740083 ms) 2026-01-06 06:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556740083 ms) 2026-01-06 06:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556740084 ms) 2026-01-06 06:53:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556741119 ms) 2026-01-06 06:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556741119 ms) 2026-01-06 06:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:53:40.710751+00:00', 'runtime': '556740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556741120 ms) 2026-01-06 06:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:52:40.710735+00:00', 'runtime': '556680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556741121 ms) 2026-01-06 06:54:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556760089 ms) 2026-01-06 06:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556760089 ms) 2026-01-06 06:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:53:40.710861+00:00'} (T+556760091 ms) 2026-01-06 06:54:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556800076 ms) 2026-01-06 06:54:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556800076 ms) 2026-01-06 06:54:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556800077 ms) 2026-01-06 06:54:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556800077 ms) 2026-01-06 06:54:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556801115 ms) 2026-01-06 06:54:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556801116 ms) 2026-01-06 06:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:54:40.710744+00:00', 'runtime': '556800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556801119 ms) 2026-01-06 06:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:53:40.710751+00:00', 'runtime': '556740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556801120 ms) 2026-01-06 06:55:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556820084 ms) 2026-01-06 06:55:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556820085 ms) 2026-01-06 06:55:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:54:40.710872+00:00'} (T+556820088 ms) 2026-01-06 06:55:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556860086 ms) 2026-01-06 06:55:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556860086 ms) 2026-01-06 06:55:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556860086 ms) 2026-01-06 06:55:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556860086 ms) 2026-01-06 06:55:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556861120 ms) 2026-01-06 06:55:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556861121 ms) 2026-01-06 06:55:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:55:40.713156+00:00', 'runtime': '556860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556861123 ms) 2026-01-06 06:55:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:54:40.710744+00:00', 'runtime': '556800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556861124 ms) 2026-01-06 06:56:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556880089 ms) 2026-01-06 06:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556880091 ms) 2026-01-06 06:56:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:55:40.710783+00:00'} (T+556880094 ms) 2026-01-06 06:56:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556920085 ms) 2026-01-06 06:56:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556920085 ms) 2026-01-06 06:56:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556920085 ms) 2026-01-06 06:56:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556920086 ms) 2026-01-06 06:56:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556921120 ms) 2026-01-06 06:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556921121 ms) 2026-01-06 06:56:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:56:40.713171+00:00', 'runtime': '556920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556921122 ms) 2026-01-06 06:56:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:55:40.713156+00:00', 'runtime': '556860.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556921123 ms) 2026-01-06 06:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556940090 ms) 2026-01-06 06:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+556940091 ms) 2026-01-06 06:57:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:56:40.710798+00:00'} (T+556940093 ms) 2026-01-06 06:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+556980083 ms) 2026-01-06 06:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+556980084 ms) 2026-01-06 06:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+556980084 ms) 2026-01-06 06:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+556980084 ms) 2026-01-06 06:57:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+556981120 ms) 2026-01-06 06:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+556981120 ms) 2026-01-06 06:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:57:40.710725+00:00', 'runtime': '556980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556981121 ms) 2026-01-06 06:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:56:40.713171+00:00', 'runtime': '556920.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+556981122 ms) 2026-01-06 06:58:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557000088 ms) 2026-01-06 06:58:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557000089 ms) 2026-01-06 06:58:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:57:40.710845+00:00'} (T+557000090 ms) 2026-01-06 06:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557040082 ms) 2026-01-06 06:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557040083 ms) 2026-01-06 06:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557040083 ms) 2026-01-06 06:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557040083 ms) 2026-01-06 06:58:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557041117 ms) 2026-01-06 06:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557041118 ms) 2026-01-06 06:58:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:58:40.710732+00:00', 'runtime': '557040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557041122 ms) 2026-01-06 06:58:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:57:40.710725+00:00', 'runtime': '556980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557041123 ms) 2026-01-06 06:59:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557060086 ms) 2026-01-06 06:59:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557060086 ms) 2026-01-06 06:59:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:58:40.710856+00:00'} (T+557060087 ms) 2026-01-06 06:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557100083 ms) 2026-01-06 06:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557100083 ms) 2026-01-06 06:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557100084 ms) 2026-01-06 06:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557100084 ms) 2026-01-06 06:59:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557101118 ms) 2026-01-06 06:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557101119 ms) 2026-01-06 06:59:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 06:59:40.710719+00:00', 'runtime': '557100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557101121 ms) 2026-01-06 06:59:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:58:40.710732+00:00', 'runtime': '557040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557101122 ms) 2026-01-06 07:00:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557120091 ms) 2026-01-06 07:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557120092 ms) 2026-01-06 07:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 06:59:40.710860+00:00'} (T+557120095 ms) 2026-01-06 07:00:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557160083 ms) 2026-01-06 07:00:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557160084 ms) 2026-01-06 07:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557160084 ms) 2026-01-06 07:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557160084 ms) 2026-01-06 07:00:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557161118 ms) 2026-01-06 07:00:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557161118 ms) 2026-01-06 07:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:00:40.710741+00:00', 'runtime': '557160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557161119 ms) 2026-01-06 07:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 06:59:40.710719+00:00', 'runtime': '557100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557161120 ms) 2026-01-06 07:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557180087 ms) 2026-01-06 07:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557180088 ms) 2026-01-06 07:01:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:00:40.710844+00:00'} (T+557180090 ms) 2026-01-06 07:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557220083 ms) 2026-01-06 07:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557220084 ms) 2026-01-06 07:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557220084 ms) 2026-01-06 07:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557220084 ms) 2026-01-06 07:01:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557221119 ms) 2026-01-06 07:01:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557221119 ms) 2026-01-06 07:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:01:40.710727+00:00', 'runtime': '557220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557221120 ms) 2026-01-06 07:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:00:40.710741+00:00', 'runtime': '557160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557221121 ms) 2026-01-06 07:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557240090 ms) 2026-01-06 07:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557240091 ms) 2026-01-06 07:02:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:01:40.710852+00:00'} (T+557240097 ms) 2026-01-06 07:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557280083 ms) 2026-01-06 07:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557280083 ms) 2026-01-06 07:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557280083 ms) 2026-01-06 07:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557280084 ms) 2026-01-06 07:02:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557281117 ms) 2026-01-06 07:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557281117 ms) 2026-01-06 07:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:02:40.710743+00:00', 'runtime': '557280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557281118 ms) 2026-01-06 07:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:01:40.710727+00:00', 'runtime': '557220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557281118 ms) 2026-01-06 07:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557300088 ms) 2026-01-06 07:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557300089 ms) 2026-01-06 07:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:02:40.710846+00:00'} (T+557300092 ms) 2026-01-06 07:03:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557340082 ms) 2026-01-06 07:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557340083 ms) 2026-01-06 07:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557340083 ms) 2026-01-06 07:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557340084 ms) 2026-01-06 07:03:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557341124 ms) 2026-01-06 07:03:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557341125 ms) 2026-01-06 07:03:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:03:40.710768+00:00', 'runtime': '557340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557341127 ms) 2026-01-06 07:03:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:02:40.710743+00:00', 'runtime': '557280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557341128 ms) 2026-01-06 07:04:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557360088 ms) 2026-01-06 07:04:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557360089 ms) 2026-01-06 07:04:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:03:40.710860+00:00'} (T+557360090 ms) 2026-01-06 07:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557400083 ms) 2026-01-06 07:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557400083 ms) 2026-01-06 07:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557400084 ms) 2026-01-06 07:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557400084 ms) 2026-01-06 07:04:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557401118 ms) 2026-01-06 07:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557401119 ms) 2026-01-06 07:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:04:40.710703+00:00', 'runtime': '557400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557401120 ms) 2026-01-06 07:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:03:40.710768+00:00', 'runtime': '557340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557401120 ms) 2026-01-06 07:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557420090 ms) 2026-01-06 07:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557420091 ms) 2026-01-06 07:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:04:40.710868+00:00'} (T+557420094 ms) 2026-01-06 07:05:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557460077 ms) 2026-01-06 07:05:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557460077 ms) 2026-01-06 07:05:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557460077 ms) 2026-01-06 07:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557460078 ms) 2026-01-06 07:05:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557461114 ms) 2026-01-06 07:05:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557461115 ms) 2026-01-06 07:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:05:40.710701+00:00', 'runtime': '557460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557461117 ms) 2026-01-06 07:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:04:40.710703+00:00', 'runtime': '557400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557461118 ms) 2026-01-06 07:06:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557480088 ms) 2026-01-06 07:06:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557480089 ms) 2026-01-06 07:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:05:40.710848+00:00'} (T+557480091 ms) 2026-01-06 07:06:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557520086 ms) 2026-01-06 07:06:40.766 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557520087 ms) 2026-01-06 07:06:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557520087 ms) 2026-01-06 07:06:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557520087 ms) 2026-01-06 07:06:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557521114 ms) 2026-01-06 07:06:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557521114 ms) 2026-01-06 07:06:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:06:40.713165+00:00', 'runtime': '557520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557521116 ms) 2026-01-06 07:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:05:40.710701+00:00', 'runtime': '557460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557521116 ms) 2026-01-06 07:07:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557540084 ms) 2026-01-06 07:07:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557540084 ms) 2026-01-06 07:07:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:06:40.710793+00:00'} (T+557540086 ms) 2026-01-06 07:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557580083 ms) 2026-01-06 07:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557580083 ms) 2026-01-06 07:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557580084 ms) 2026-01-06 07:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557580084 ms) 2026-01-06 07:07:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557581119 ms) 2026-01-06 07:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557581119 ms) 2026-01-06 07:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:07:40.710759+00:00', 'runtime': '557580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557581120 ms) 2026-01-06 07:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:06:40.713165+00:00', 'runtime': '557520.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557581121 ms) 2026-01-06 07:08:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557600089 ms) 2026-01-06 07:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557600090 ms) 2026-01-06 07:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:07:40.710858+00:00'} (T+557600091 ms) 2026-01-06 07:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557640084 ms) 2026-01-06 07:08:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557640084 ms) 2026-01-06 07:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557640084 ms) 2026-01-06 07:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557640085 ms) 2026-01-06 07:08:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557641124 ms) 2026-01-06 07:08:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557641125 ms) 2026-01-06 07:08:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:08:40.710871+00:00', 'runtime': '557640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557641127 ms) 2026-01-06 07:08:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:07:40.710759+00:00', 'runtime': '557580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557641128 ms) 2026-01-06 07:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557660090 ms) 2026-01-06 07:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557660092 ms) 2026-01-06 07:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:08:40.710899+00:00'} (T+557660094 ms) 2026-01-06 07:09:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557700083 ms) 2026-01-06 07:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557700083 ms) 2026-01-06 07:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557700083 ms) 2026-01-06 07:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557700084 ms) 2026-01-06 07:09:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557701120 ms) 2026-01-06 07:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557701121 ms) 2026-01-06 07:09:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:09:40.710710+00:00', 'runtime': '557700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557701121 ms) 2026-01-06 07:09:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:08:40.710871+00:00', 'runtime': '557640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557701123 ms) 2026-01-06 07:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557720090 ms) 2026-01-06 07:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557720091 ms) 2026-01-06 07:10:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:09:40.710839+00:00'} (T+557720094 ms) 2026-01-06 07:10:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557760082 ms) 2026-01-06 07:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557760083 ms) 2026-01-06 07:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557760083 ms) 2026-01-06 07:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557760084 ms) 2026-01-06 07:10:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557761114 ms) 2026-01-06 07:10:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557761114 ms) 2026-01-06 07:10:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:10:40.710704+00:00', 'runtime': '557760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557761115 ms) 2026-01-06 07:10:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:09:40.710710+00:00', 'runtime': '557700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557761115 ms) 2026-01-06 07:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557780090 ms) 2026-01-06 07:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557780092 ms) 2026-01-06 07:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:10:40.710856+00:00'} (T+557780094 ms) 2026-01-06 07:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557820082 ms) 2026-01-06 07:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557820083 ms) 2026-01-06 07:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557820083 ms) 2026-01-06 07:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557820083 ms) 2026-01-06 07:11:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557821116 ms) 2026-01-06 07:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557821117 ms) 2026-01-06 07:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:11:40.710724+00:00', 'runtime': '557820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557821118 ms) 2026-01-06 07:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:10:40.710704+00:00', 'runtime': '557760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557821118 ms) 2026-01-06 07:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557840090 ms) 2026-01-06 07:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557840092 ms) 2026-01-06 07:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:11:40.710854+00:00'} (T+557840093 ms) 2026-01-06 07:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557880083 ms) 2026-01-06 07:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557880083 ms) 2026-01-06 07:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557880084 ms) 2026-01-06 07:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557880084 ms) 2026-01-06 07:12:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557881121 ms) 2026-01-06 07:12:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557881122 ms) 2026-01-06 07:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:12:40.710787+00:00', 'runtime': '557880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557881125 ms) 2026-01-06 07:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:11:40.710724+00:00', 'runtime': '557820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557881126 ms) 2026-01-06 07:13:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557900091 ms) 2026-01-06 07:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557900092 ms) 2026-01-06 07:13:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:12:40.710878+00:00'} (T+557900095 ms) 2026-01-06 07:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+557940082 ms) 2026-01-06 07:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+557940083 ms) 2026-01-06 07:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+557940083 ms) 2026-01-06 07:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+557940084 ms) 2026-01-06 07:13:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+557941122 ms) 2026-01-06 07:13:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+557941123 ms) 2026-01-06 07:13:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:13:40.710764+00:00', 'runtime': '557940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557941125 ms) 2026-01-06 07:13:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:12:40.710787+00:00', 'runtime': '557880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+557941126 ms) 2026-01-06 07:14:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557960086 ms) 2026-01-06 07:14:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+557960086 ms) 2026-01-06 07:14:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:13:40.710865+00:00'} (T+557960087 ms) 2026-01-06 07:14:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558000078 ms) 2026-01-06 07:14:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558000079 ms) 2026-01-06 07:14:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558000079 ms) 2026-01-06 07:14:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558000079 ms) 2026-01-06 07:14:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558001114 ms) 2026-01-06 07:14:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558001115 ms) 2026-01-06 07:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:14:40.710699+00:00', 'runtime': '558000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558001119 ms) 2026-01-06 07:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:13:40.710764+00:00', 'runtime': '557940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558001120 ms) 2026-01-06 07:15:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558020091 ms) 2026-01-06 07:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558020092 ms) 2026-01-06 07:15:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:14:40.710878+00:00'} (T+558020095 ms) 2026-01-06 07:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558060083 ms) 2026-01-06 07:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558060084 ms) 2026-01-06 07:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558060084 ms) 2026-01-06 07:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558060084 ms) 2026-01-06 07:15:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558061117 ms) 2026-01-06 07:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558061118 ms) 2026-01-06 07:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:15:40.710760+00:00', 'runtime': '558060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558061120 ms) 2026-01-06 07:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:14:40.710699+00:00', 'runtime': '558000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558061120 ms) 2026-01-06 07:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558080090 ms) 2026-01-06 07:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558080091 ms) 2026-01-06 07:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:15:40.710855+00:00'} (T+558080093 ms) 2026-01-06 07:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558120082 ms) 2026-01-06 07:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558120083 ms) 2026-01-06 07:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558120083 ms) 2026-01-06 07:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558120084 ms) 2026-01-06 07:16:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558121112 ms) 2026-01-06 07:16:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558121113 ms) 2026-01-06 07:16:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:16:40.710755+00:00', 'runtime': '558120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558121114 ms) 2026-01-06 07:16:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:15:40.710760+00:00', 'runtime': '558060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558121114 ms) 2026-01-06 07:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558140090 ms) 2026-01-06 07:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558140091 ms) 2026-01-06 07:17:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:16:40.710862+00:00'} (T+558140093 ms) 2026-01-06 07:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558180083 ms) 2026-01-06 07:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558180083 ms) 2026-01-06 07:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558180084 ms) 2026-01-06 07:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558180084 ms) 2026-01-06 07:17:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558181123 ms) 2026-01-06 07:17:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558181124 ms) 2026-01-06 07:17:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:17:40.710758+00:00', 'runtime': '558180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558181127 ms) 2026-01-06 07:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:16:40.710755+00:00', 'runtime': '558120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558181128 ms) 2026-01-06 07:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558200090 ms) 2026-01-06 07:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558200091 ms) 2026-01-06 07:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:17:40.710858+00:00'} (T+558200094 ms) 2026-01-06 07:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558240082 ms) 2026-01-06 07:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558240083 ms) 2026-01-06 07:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558240083 ms) 2026-01-06 07:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558240084 ms) 2026-01-06 07:18:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558241119 ms) 2026-01-06 07:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558241119 ms) 2026-01-06 07:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:18:40.710717+00:00', 'runtime': '558240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558241120 ms) 2026-01-06 07:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:17:40.710758+00:00', 'runtime': '558180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558241120 ms) 2026-01-06 07:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558260091 ms) 2026-01-06 07:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558260092 ms) 2026-01-06 07:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:18:40.713244+00:00'} (T+558260092 ms) 2026-01-06 07:19:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558300084 ms) 2026-01-06 07:19:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558300085 ms) 2026-01-06 07:19:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558300085 ms) 2026-01-06 07:19:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558300085 ms) 2026-01-06 07:19:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558301119 ms) 2026-01-06 07:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558301119 ms) 2026-01-06 07:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:19:40.713166+00:00', 'runtime': '558300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558301121 ms) 2026-01-06 07:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:18:40.710717+00:00', 'runtime': '558240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558301121 ms) 2026-01-06 07:20:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558320090 ms) 2026-01-06 07:20:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558320092 ms) 2026-01-06 07:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:19:40.710808+00:00'} (T+558320094 ms) 2026-01-06 07:20:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558360084 ms) 2026-01-06 07:20:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558360085 ms) 2026-01-06 07:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558360085 ms) 2026-01-06 07:20:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558360086 ms) 2026-01-06 07:20:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558361121 ms) 2026-01-06 07:20:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558361122 ms) 2026-01-06 07:20:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:20:40.713163+00:00', 'runtime': '558360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558361123 ms) 2026-01-06 07:20:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:19:40.713166+00:00', 'runtime': '558300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558361123 ms) 2026-01-06 07:21:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558380088 ms) 2026-01-06 07:21:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558380089 ms) 2026-01-06 07:21:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:20:40.710824+00:00'} (T+558380092 ms) 2026-01-06 07:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558420082 ms) 2026-01-06 07:21:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558420083 ms) 2026-01-06 07:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558420083 ms) 2026-01-06 07:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558420083 ms) 2026-01-06 07:21:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558421116 ms) 2026-01-06 07:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558421116 ms) 2026-01-06 07:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:21:40.710710+00:00', 'runtime': '558420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558421117 ms) 2026-01-06 07:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:20:40.713163+00:00', 'runtime': '558360.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558421118 ms) 2026-01-06 07:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558440088 ms) 2026-01-06 07:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558440089 ms) 2026-01-06 07:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:21:40.710858+00:00'} (T+558440092 ms) 2026-01-06 07:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558480083 ms) 2026-01-06 07:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558480083 ms) 2026-01-06 07:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558480084 ms) 2026-01-06 07:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558480084 ms) 2026-01-06 07:22:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558481124 ms) 2026-01-06 07:22:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558481125 ms) 2026-01-06 07:22:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:22:40.710730+00:00', 'runtime': '558480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558481127 ms) 2026-01-06 07:22:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:21:40.710710+00:00', 'runtime': '558420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558481127 ms) 2026-01-06 07:23:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558500087 ms) 2026-01-06 07:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558500088 ms) 2026-01-06 07:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:22:40.710845+00:00'} (T+558500091 ms) 2026-01-06 07:23:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558540078 ms) 2026-01-06 07:23:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558540079 ms) 2026-01-06 07:23:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558540079 ms) 2026-01-06 07:23:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558540079 ms) 2026-01-06 07:23:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558541115 ms) 2026-01-06 07:23:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558541116 ms) 2026-01-06 07:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:23:40.710703+00:00', 'runtime': '558540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558541119 ms) 2026-01-06 07:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:22:40.710730+00:00', 'runtime': '558480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558541120 ms) 2026-01-06 07:24:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558560090 ms) 2026-01-06 07:24:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558560090 ms) 2026-01-06 07:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:23:40.713235+00:00'} (T+558560091 ms) 2026-01-06 07:24:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558600083 ms) 2026-01-06 07:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558600083 ms) 2026-01-06 07:24:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558600083 ms) 2026-01-06 07:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558600084 ms) 2026-01-06 07:24:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558601116 ms) 2026-01-06 07:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558601117 ms) 2026-01-06 07:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:24:40.710706+00:00', 'runtime': '558600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558601118 ms) 2026-01-06 07:24:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:23:40.710703+00:00', 'runtime': '558540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558601118 ms) 2026-01-06 07:25:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558620087 ms) 2026-01-06 07:25:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558620088 ms) 2026-01-06 07:25:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:24:40.710861+00:00'} (T+558620090 ms) 2026-01-06 07:25:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558660082 ms) 2026-01-06 07:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558660083 ms) 2026-01-06 07:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558660083 ms) 2026-01-06 07:25:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558660084 ms) 2026-01-06 07:25:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558661119 ms) 2026-01-06 07:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558661119 ms) 2026-01-06 07:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:25:40.710783+00:00', 'runtime': '558660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558661120 ms) 2026-01-06 07:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:24:40.710706+00:00', 'runtime': '558600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558661121 ms) 2026-01-06 07:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558680090 ms) 2026-01-06 07:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558680091 ms) 2026-01-06 07:26:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:25:40.710861+00:00'} (T+558680094 ms) 2026-01-06 07:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558720082 ms) 2026-01-06 07:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558720083 ms) 2026-01-06 07:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558720083 ms) 2026-01-06 07:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558720084 ms) 2026-01-06 07:26:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558721116 ms) 2026-01-06 07:26:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558721116 ms) 2026-01-06 07:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:26:40.710773+00:00', 'runtime': '558720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558721117 ms) 2026-01-06 07:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:25:40.710783+00:00', 'runtime': '558660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558721118 ms) 2026-01-06 07:27:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558740092 ms) 2026-01-06 07:27:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558740094 ms) 2026-01-06 07:27:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:26:40.713228+00:00'} (T+558740097 ms) 2026-01-06 07:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558780083 ms) 2026-01-06 07:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558780083 ms) 2026-01-06 07:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558780084 ms) 2026-01-06 07:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558780084 ms) 2026-01-06 07:27:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558781117 ms) 2026-01-06 07:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558781118 ms) 2026-01-06 07:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:27:40.710744+00:00', 'runtime': '558780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558781118 ms) 2026-01-06 07:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:26:40.710773+00:00', 'runtime': '558720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558781119 ms) 2026-01-06 07:28:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558800092 ms) 2026-01-06 07:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558800093 ms) 2026-01-06 07:28:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:27:40.713239+00:00'} (T+558800096 ms) 2026-01-06 07:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558840083 ms) 2026-01-06 07:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558840083 ms) 2026-01-06 07:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558840084 ms) 2026-01-06 07:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558840084 ms) 2026-01-06 07:28:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558841117 ms) 2026-01-06 07:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558841117 ms) 2026-01-06 07:28:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:28:40.710725+00:00', 'runtime': '558840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558841118 ms) 2026-01-06 07:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:27:40.710744+00:00', 'runtime': '558780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558841119 ms) 2026-01-06 07:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558860091 ms) 2026-01-06 07:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558860091 ms) 2026-01-06 07:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:28:40.713238+00:00'} (T+558860092 ms) 2026-01-06 07:29:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558900077 ms) 2026-01-06 07:29:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558900078 ms) 2026-01-06 07:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558900078 ms) 2026-01-06 07:29:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558900078 ms) 2026-01-06 07:29:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558901113 ms) 2026-01-06 07:29:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558901113 ms) 2026-01-06 07:29:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:29:40.710729+00:00', 'runtime': '558900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558901115 ms) 2026-01-06 07:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:28:40.710725+00:00', 'runtime': '558840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558901116 ms) 2026-01-06 07:30:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558920090 ms) 2026-01-06 07:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558920091 ms) 2026-01-06 07:30:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:29:40.713246+00:00'} (T+558920094 ms) 2026-01-06 07:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+558960083 ms) 2026-01-06 07:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+558960083 ms) 2026-01-06 07:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+558960083 ms) 2026-01-06 07:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+558960084 ms) 2026-01-06 07:30:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+558961120 ms) 2026-01-06 07:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+558961121 ms) 2026-01-06 07:30:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:30:40.710739+00:00', 'runtime': '558960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558961123 ms) 2026-01-06 07:30:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:29:40.710729+00:00', 'runtime': '558900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+558961124 ms) 2026-01-06 07:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558980091 ms) 2026-01-06 07:31:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+558980092 ms) 2026-01-06 07:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:30:40.710847+00:00'} (T+558980094 ms) 2026-01-06 07:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559020082 ms) 2026-01-06 07:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559020083 ms) 2026-01-06 07:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559020083 ms) 2026-01-06 07:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559020084 ms) 2026-01-06 07:31:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559021116 ms) 2026-01-06 07:31:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559021117 ms) 2026-01-06 07:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:31:40.710779+00:00', 'runtime': '559020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559021120 ms) 2026-01-06 07:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:30:40.710739+00:00', 'runtime': '558960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559021120 ms) 2026-01-06 07:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559040090 ms) 2026-01-06 07:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559040091 ms) 2026-01-06 07:32:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:31:40.710858+00:00'} (T+559040097 ms) 2026-01-06 07:32:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559080077 ms) 2026-01-06 07:32:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559080078 ms) 2026-01-06 07:32:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559080078 ms) 2026-01-06 07:32:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559080079 ms) 2026-01-06 07:32:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559081115 ms) 2026-01-06 07:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559081116 ms) 2026-01-06 07:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:32:40.710746+00:00', 'runtime': '559080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559081119 ms) 2026-01-06 07:32:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:31:40.710779+00:00', 'runtime': '559020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559081122 ms) 2026-01-06 07:33:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559100089 ms) 2026-01-06 07:33:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559100090 ms) 2026-01-06 07:33:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:32:40.713236+00:00'} (T+559100092 ms) 2026-01-06 07:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559140083 ms) 2026-01-06 07:33:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559140084 ms) 2026-01-06 07:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559140084 ms) 2026-01-06 07:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559140085 ms) 2026-01-06 07:33:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559141119 ms) 2026-01-06 07:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559141119 ms) 2026-01-06 07:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:33:40.710707+00:00', 'runtime': '559140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559141120 ms) 2026-01-06 07:33:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:32:40.710746+00:00', 'runtime': '559080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559141120 ms) 2026-01-06 07:34:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559160089 ms) 2026-01-06 07:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559160090 ms) 2026-01-06 07:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:33:40.710834+00:00'} (T+559160091 ms) 2026-01-06 07:34:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559200084 ms) 2026-01-06 07:34:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559200085 ms) 2026-01-06 07:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559200085 ms) 2026-01-06 07:34:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559200086 ms) 2026-01-06 07:34:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559201120 ms) 2026-01-06 07:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559201120 ms) 2026-01-06 07:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:34:40.713176+00:00', 'runtime': '559200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559201122 ms) 2026-01-06 07:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:33:40.710707+00:00', 'runtime': '559140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559201122 ms) 2026-01-06 07:35:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559220091 ms) 2026-01-06 07:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559220092 ms) 2026-01-06 07:35:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:34:40.710845+00:00'} (T+559220095 ms) 2026-01-06 07:35:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559260083 ms) 2026-01-06 07:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559260083 ms) 2026-01-06 07:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559260084 ms) 2026-01-06 07:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559260084 ms) 2026-01-06 07:35:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559261119 ms) 2026-01-06 07:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559261119 ms) 2026-01-06 07:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:35:40.710775+00:00', 'runtime': '559260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559261120 ms) 2026-01-06 07:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:34:40.713176+00:00', 'runtime': '559200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559261120 ms) 2026-01-06 07:36:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559280092 ms) 2026-01-06 07:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559280093 ms) 2026-01-06 07:36:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:35:40.713239+00:00'} (T+559280095 ms) 2026-01-06 07:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559320083 ms) 2026-01-06 07:36:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559320084 ms) 2026-01-06 07:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559320084 ms) 2026-01-06 07:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559320084 ms) 2026-01-06 07:36:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559321114 ms) 2026-01-06 07:36:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559321114 ms) 2026-01-06 07:36:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:36:40.710752+00:00', 'runtime': '559320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559321115 ms) 2026-01-06 07:36:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:35:40.710775+00:00', 'runtime': '559260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559321116 ms) 2026-01-06 07:37:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559340093 ms) 2026-01-06 07:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559340095 ms) 2026-01-06 07:37:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:36:40.713233+00:00'} (T+559340097 ms) 2026-01-06 07:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559380082 ms) 2026-01-06 07:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559380083 ms) 2026-01-06 07:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559380083 ms) 2026-01-06 07:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559380084 ms) 2026-01-06 07:37:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559381115 ms) 2026-01-06 07:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559381116 ms) 2026-01-06 07:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:37:40.710752+00:00', 'runtime': '559380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559381117 ms) 2026-01-06 07:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:36:40.710752+00:00', 'runtime': '559320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559381117 ms) 2026-01-06 07:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559400090 ms) 2026-01-06 07:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559400091 ms) 2026-01-06 07:38:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:37:40.710860+00:00'} (T+559400097 ms) 2026-01-06 07:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559440082 ms) 2026-01-06 07:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559440083 ms) 2026-01-06 07:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559440083 ms) 2026-01-06 07:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559440084 ms) 2026-01-06 07:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559441117 ms) 2026-01-06 07:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559441117 ms) 2026-01-06 07:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:38:40.710767+00:00', 'runtime': '559440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559441119 ms) 2026-01-06 07:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:37:40.710752+00:00', 'runtime': '559380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559441120 ms) 2026-01-06 07:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559460089 ms) 2026-01-06 07:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559460089 ms) 2026-01-06 07:39:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:38:40.710855+00:00'} (T+559460090 ms) 2026-01-06 07:39:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559500077 ms) 2026-01-06 07:39:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559500078 ms) 2026-01-06 07:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559500078 ms) 2026-01-06 07:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559500078 ms) 2026-01-06 07:39:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559501115 ms) 2026-01-06 07:39:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559501116 ms) 2026-01-06 07:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:39:40.710749+00:00', 'runtime': '559500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559501118 ms) 2026-01-06 07:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:38:40.710767+00:00', 'runtime': '559440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559501119 ms) 2026-01-06 07:40:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559520084 ms) 2026-01-06 07:40:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559520085 ms) 2026-01-06 07:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:39:40.710872+00:00'} (T+559520088 ms) 2026-01-06 07:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559560083 ms) 2026-01-06 07:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559560083 ms) 2026-01-06 07:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559560084 ms) 2026-01-06 07:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559560084 ms) 2026-01-06 07:40:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559561117 ms) 2026-01-06 07:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559561117 ms) 2026-01-06 07:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:40:40.710715+00:00', 'runtime': '559560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559561118 ms) 2026-01-06 07:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:39:40.710749+00:00', 'runtime': '559500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559561118 ms) 2026-01-06 07:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559580088 ms) 2026-01-06 07:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559580089 ms) 2026-01-06 07:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:40:40.710860+00:00'} (T+559580092 ms) 2026-01-06 07:41:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559620083 ms) 2026-01-06 07:41:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559620084 ms) 2026-01-06 07:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559620084 ms) 2026-01-06 07:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559620085 ms) 2026-01-06 07:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559621119 ms) 2026-01-06 07:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559621119 ms) 2026-01-06 07:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:41:40.710734+00:00', 'runtime': '559620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559621120 ms) 2026-01-06 07:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:40:40.710715+00:00', 'runtime': '559560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559621121 ms) 2026-01-06 07:42:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559640093 ms) 2026-01-06 07:42:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559640094 ms) 2026-01-06 07:42:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:41:40.713250+00:00'} (T+559640096 ms) 2026-01-06 07:42:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559680084 ms) 2026-01-06 07:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559680085 ms) 2026-01-06 07:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559680085 ms) 2026-01-06 07:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559680085 ms) 2026-01-06 07:42:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559681118 ms) 2026-01-06 07:42:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559681118 ms) 2026-01-06 07:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:42:40.710737+00:00', 'runtime': '559680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559681119 ms) 2026-01-06 07:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:41:40.710734+00:00', 'runtime': '559620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559681120 ms) 2026-01-06 07:43:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559700091 ms) 2026-01-06 07:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559700092 ms) 2026-01-06 07:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:42:40.710823+00:00'} (T+559700094 ms) 2026-01-06 07:43:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559740077 ms) 2026-01-06 07:43:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559740077 ms) 2026-01-06 07:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559740077 ms) 2026-01-06 07:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559740078 ms) 2026-01-06 07:43:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559741112 ms) 2026-01-06 07:43:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559741114 ms) 2026-01-06 07:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:43:40.710708+00:00', 'runtime': '559740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559741116 ms) 2026-01-06 07:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:42:40.710737+00:00', 'runtime': '559680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559741117 ms) 2026-01-06 07:44:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559760084 ms) 2026-01-06 07:44:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559760085 ms) 2026-01-06 07:44:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:43:40.710847+00:00'} (T+559760087 ms) 2026-01-06 07:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559800083 ms) 2026-01-06 07:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559800084 ms) 2026-01-06 07:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559800084 ms) 2026-01-06 07:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559800084 ms) 2026-01-06 07:44:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559801124 ms) 2026-01-06 07:44:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559801125 ms) 2026-01-06 07:44:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:44:40.710768+00:00', 'runtime': '559800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559801127 ms) 2026-01-06 07:44:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:43:40.710708+00:00', 'runtime': '559740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559801128 ms) 2026-01-06 07:45:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559820088 ms) 2026-01-06 07:45:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559820089 ms) 2026-01-06 07:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:44:40.710856+00:00'} (T+559820092 ms) 2026-01-06 07:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559860083 ms) 2026-01-06 07:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559860083 ms) 2026-01-06 07:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559860084 ms) 2026-01-06 07:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559860084 ms) 2026-01-06 07:45:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559861119 ms) 2026-01-06 07:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559861119 ms) 2026-01-06 07:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:45:40.710762+00:00', 'runtime': '559860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559861120 ms) 2026-01-06 07:45:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:44:40.710768+00:00', 'runtime': '559800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559861121 ms) 2026-01-06 07:46:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559880092 ms) 2026-01-06 07:46:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559880093 ms) 2026-01-06 07:46:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:45:40.713248+00:00'} (T+559880096 ms) 2026-01-06 07:46:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559920078 ms) 2026-01-06 07:46:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559920079 ms) 2026-01-06 07:46:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559920079 ms) 2026-01-06 07:46:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559920079 ms) 2026-01-06 07:46:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559921116 ms) 2026-01-06 07:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559921117 ms) 2026-01-06 07:46:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:46:40.710731+00:00', 'runtime': '559920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559921121 ms) 2026-01-06 07:46:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:45:40.710762+00:00', 'runtime': '559860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559921121 ms) 2026-01-06 07:47:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559940084 ms) 2026-01-06 07:47:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+559940085 ms) 2026-01-06 07:47:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:46:40.710841+00:00'} (T+559940088 ms) 2026-01-06 07:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+559980083 ms) 2026-01-06 07:47:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+559980084 ms) 2026-01-06 07:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+559980084 ms) 2026-01-06 07:47:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+559980085 ms) 2026-01-06 07:47:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+559981118 ms) 2026-01-06 07:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+559981119 ms) 2026-01-06 07:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:47:40.710693+00:00', 'runtime': '559980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559981120 ms) 2026-01-06 07:47:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:46:40.710731+00:00', 'runtime': '559920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+559981120 ms) 2026-01-06 07:48:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560000093 ms) 2026-01-06 07:48:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560000094 ms) 2026-01-06 07:48:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:47:40.713227+00:00'} (T+560000096 ms) 2026-01-06 07:48:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560040082 ms) 2026-01-06 07:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560040083 ms) 2026-01-06 07:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560040083 ms) 2026-01-06 07:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560040083 ms) 2026-01-06 07:48:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560041112 ms) 2026-01-06 07:48:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560041112 ms) 2026-01-06 07:48:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:48:40.710701+00:00', 'runtime': '560040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560041114 ms) 2026-01-06 07:48:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:47:40.710693+00:00', 'runtime': '559980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560041114 ms) 2026-01-06 07:49:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560060089 ms) 2026-01-06 07:49:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560060089 ms) 2026-01-06 07:49:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:48:40.710848+00:00'} (T+560060090 ms) 2026-01-06 07:49:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560100077 ms) 2026-01-06 07:49:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560100077 ms) 2026-01-06 07:49:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560100078 ms) 2026-01-06 07:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560100078 ms) 2026-01-06 07:49:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560101112 ms) 2026-01-06 07:49:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560101113 ms) 2026-01-06 07:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:49:40.710741+00:00', 'runtime': '560100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560101115 ms) 2026-01-06 07:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:48:40.710701+00:00', 'runtime': '560040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560101116 ms) 2026-01-06 07:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560120090 ms) 2026-01-06 07:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560120091 ms) 2026-01-06 07:50:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:49:40.713230+00:00'} (T+560120096 ms) 2026-01-06 07:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560160083 ms) 2026-01-06 07:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560160084 ms) 2026-01-06 07:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560160084 ms) 2026-01-06 07:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560160084 ms) 2026-01-06 07:50:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560161122 ms) 2026-01-06 07:50:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560161123 ms) 2026-01-06 07:50:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:50:40.710794+00:00', 'runtime': '560160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560161125 ms) 2026-01-06 07:50:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:49:40.710741+00:00', 'runtime': '560100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560161126 ms) 2026-01-06 07:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560180087 ms) 2026-01-06 07:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560180088 ms) 2026-01-06 07:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:50:40.710878+00:00'} (T+560180091 ms) 2026-01-06 07:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560220083 ms) 2026-01-06 07:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560220083 ms) 2026-01-06 07:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560220084 ms) 2026-01-06 07:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560220084 ms) 2026-01-06 07:51:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560221122 ms) 2026-01-06 07:51:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560221123 ms) 2026-01-06 07:51:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:51:40.710760+00:00', 'runtime': '560220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560221125 ms) 2026-01-06 07:51:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:50:40.710794+00:00', 'runtime': '560160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560221126 ms) 2026-01-06 07:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560240087 ms) 2026-01-06 07:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560240088 ms) 2026-01-06 07:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:51:40.710860+00:00'} (T+560240091 ms) 2026-01-06 07:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560280082 ms) 2026-01-06 07:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560280083 ms) 2026-01-06 07:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560280083 ms) 2026-01-06 07:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560280084 ms) 2026-01-06 07:52:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560281112 ms) 2026-01-06 07:52:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560281113 ms) 2026-01-06 07:52:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:52:40.710696+00:00', 'runtime': '560280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560281114 ms) 2026-01-06 07:52:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:51:40.710760+00:00', 'runtime': '560220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560281114 ms) 2026-01-06 07:53:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560300090 ms) 2026-01-06 07:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560300091 ms) 2026-01-06 07:53:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:52:40.710833+00:00'} (T+560300094 ms) 2026-01-06 07:53:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560340077 ms) 2026-01-06 07:53:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560340078 ms) 2026-01-06 07:53:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560340078 ms) 2026-01-06 07:53:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560340078 ms) 2026-01-06 07:53:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560341114 ms) 2026-01-06 07:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560341115 ms) 2026-01-06 07:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:53:40.710735+00:00', 'runtime': '560340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560341117 ms) 2026-01-06 07:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:52:40.710696+00:00', 'runtime': '560280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560341118 ms) 2026-01-06 07:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560360087 ms) 2026-01-06 07:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560360088 ms) 2026-01-06 07:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:53:40.710846+00:00'} (T+560360089 ms) 2026-01-06 07:54:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560400084 ms) 2026-01-06 07:54:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560400085 ms) 2026-01-06 07:54:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560400085 ms) 2026-01-06 07:54:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560400086 ms) 2026-01-06 07:54:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560401113 ms) 2026-01-06 07:54:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560401113 ms) 2026-01-06 07:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:54:40.713171+00:00', 'runtime': '560400.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560401114 ms) 2026-01-06 07:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:53:40.710735+00:00', 'runtime': '560340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560401115 ms) 2026-01-06 07:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560420090 ms) 2026-01-06 07:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560420092 ms) 2026-01-06 07:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:54:40.710811+00:00'} (T+560420094 ms) 2026-01-06 07:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560460082 ms) 2026-01-06 07:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560460083 ms) 2026-01-06 07:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560460083 ms) 2026-01-06 07:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560460084 ms) 2026-01-06 07:55:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560461119 ms) 2026-01-06 07:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560461119 ms) 2026-01-06 07:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:55:40.710780+00:00', 'runtime': '560460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560461120 ms) 2026-01-06 07:55:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:54:40.713171+00:00', 'runtime': '560400.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560461121 ms) 2026-01-06 07:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560480087 ms) 2026-01-06 07:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560480088 ms) 2026-01-06 07:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:55:40.710835+00:00'} (T+560480091 ms) 2026-01-06 07:56:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560520077 ms) 2026-01-06 07:56:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560520077 ms) 2026-01-06 07:56:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560520077 ms) 2026-01-06 07:56:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560520078 ms) 2026-01-06 07:56:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560521114 ms) 2026-01-06 07:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560521115 ms) 2026-01-06 07:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:56:40.710729+00:00', 'runtime': '560520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560521117 ms) 2026-01-06 07:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:55:40.710780+00:00', 'runtime': '560460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560521118 ms) 2026-01-06 07:57:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560540086 ms) 2026-01-06 07:57:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560540087 ms) 2026-01-06 07:57:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:56:40.710846+00:00'} (T+560540089 ms) 2026-01-06 07:57:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560580076 ms) 2026-01-06 07:57:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560580076 ms) 2026-01-06 07:57:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560580076 ms) 2026-01-06 07:57:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560580077 ms) 2026-01-06 07:57:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560581111 ms) 2026-01-06 07:57:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560581112 ms) 2026-01-06 07:57:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:57:40.710711+00:00', 'runtime': '560580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560581114 ms) 2026-01-06 07:57:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:56:40.710729+00:00', 'runtime': '560520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560581115 ms) 2026-01-06 07:58:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560600088 ms) 2026-01-06 07:58:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560600089 ms) 2026-01-06 07:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:57:40.710854+00:00'} (T+560600091 ms) 2026-01-06 07:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560640082 ms) 2026-01-06 07:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560640083 ms) 2026-01-06 07:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560640083 ms) 2026-01-06 07:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560640084 ms) 2026-01-06 07:58:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560641116 ms) 2026-01-06 07:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560641116 ms) 2026-01-06 07:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:58:40.710737+00:00', 'runtime': '560640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560641118 ms) 2026-01-06 07:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:57:40.710711+00:00', 'runtime': '560580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560641119 ms) 2026-01-06 07:59:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560660091 ms) 2026-01-06 07:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560660092 ms) 2026-01-06 07:59:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:58:40.710860+00:00'} (T+560660094 ms) 2026-01-06 07:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560700083 ms) 2026-01-06 07:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560700083 ms) 2026-01-06 07:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560700084 ms) 2026-01-06 07:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560700084 ms) 2026-01-06 07:59:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560701117 ms) 2026-01-06 07:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560701117 ms) 2026-01-06 07:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 07:59:40.710738+00:00', 'runtime': '560700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560701118 ms) 2026-01-06 07:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:58:40.710737+00:00', 'runtime': '560640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560701118 ms) 2026-01-06 08:00:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560720089 ms) 2026-01-06 08:00:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560720090 ms) 2026-01-06 08:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 07:59:40.710824+00:00'} (T+560720093 ms) 2026-01-06 08:00:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560760079 ms) 2026-01-06 08:00:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560760079 ms) 2026-01-06 08:00:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560760079 ms) 2026-01-06 08:00:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560760079 ms) 2026-01-06 08:00:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560761115 ms) 2026-01-06 08:00:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560761116 ms) 2026-01-06 08:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:00:40.710743+00:00', 'runtime': '560760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560761119 ms) 2026-01-06 08:00:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 07:59:40.710738+00:00', 'runtime': '560700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560761120 ms) 2026-01-06 08:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560780087 ms) 2026-01-06 08:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560780088 ms) 2026-01-06 08:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:00:40.710855+00:00'} (T+560780094 ms) 2026-01-06 08:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560820083 ms) 2026-01-06 08:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560820083 ms) 2026-01-06 08:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560820084 ms) 2026-01-06 08:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560820084 ms) 2026-01-06 08:01:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560821112 ms) 2026-01-06 08:01:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560821113 ms) 2026-01-06 08:01:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:01:40.710719+00:00', 'runtime': '560820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560821114 ms) 2026-01-06 08:01:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:00:40.710743+00:00', 'runtime': '560760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560821114 ms) 2026-01-06 08:02:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560840087 ms) 2026-01-06 08:02:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560840088 ms) 2026-01-06 08:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:01:40.710825+00:00'} (T+560840091 ms) 2026-01-06 08:02:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560880077 ms) 2026-01-06 08:02:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560880078 ms) 2026-01-06 08:02:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560880078 ms) 2026-01-06 08:02:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560880078 ms) 2026-01-06 08:02:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560881115 ms) 2026-01-06 08:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560881116 ms) 2026-01-06 08:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:02:40.710753+00:00', 'runtime': '560880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560881119 ms) 2026-01-06 08:02:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:01:40.710719+00:00', 'runtime': '560820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560881120 ms) 2026-01-06 08:03:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560900084 ms) 2026-01-06 08:03:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560900085 ms) 2026-01-06 08:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:02:40.710851+00:00'} (T+560900088 ms) 2026-01-06 08:03:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+560940084 ms) 2026-01-06 08:03:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+560940085 ms) 2026-01-06 08:03:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+560940085 ms) 2026-01-06 08:03:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+560940086 ms) 2026-01-06 08:03:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+560941118 ms) 2026-01-06 08:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+560941119 ms) 2026-01-06 08:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:03:40.713164+00:00', 'runtime': '560940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560941120 ms) 2026-01-06 08:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:02:40.710753+00:00', 'runtime': '560880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+560941120 ms) 2026-01-06 08:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560960090 ms) 2026-01-06 08:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+560960091 ms) 2026-01-06 08:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:03:40.710813+00:00'} (T+560960094 ms) 2026-01-06 08:04:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561000082 ms) 2026-01-06 08:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561000083 ms) 2026-01-06 08:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561000083 ms) 2026-01-06 08:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561000084 ms) 2026-01-06 08:04:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561001121 ms) 2026-01-06 08:04:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561001122 ms) 2026-01-06 08:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:04:40.710809+00:00', 'runtime': '561000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561001125 ms) 2026-01-06 08:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:03:40.713164+00:00', 'runtime': '560940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561001126 ms) 2026-01-06 08:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561020090 ms) 2026-01-06 08:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561020092 ms) 2026-01-06 08:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:04:40.710875+00:00'} (T+561020095 ms) 2026-01-06 08:05:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561060077 ms) 2026-01-06 08:05:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561060077 ms) 2026-01-06 08:05:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561060077 ms) 2026-01-06 08:05:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561060078 ms) 2026-01-06 08:05:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561061112 ms) 2026-01-06 08:05:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561061113 ms) 2026-01-06 08:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:05:40.710734+00:00', 'runtime': '561060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561061117 ms) 2026-01-06 08:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:04:40.710809+00:00', 'runtime': '561000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561061118 ms) 2026-01-06 08:06:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561080088 ms) 2026-01-06 08:06:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561080089 ms) 2026-01-06 08:06:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:05:40.710858+00:00'} (T+561080093 ms) 2026-01-06 08:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561120082 ms) 2026-01-06 08:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561120083 ms) 2026-01-06 08:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561120083 ms) 2026-01-06 08:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561120084 ms) 2026-01-06 08:06:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561121119 ms) 2026-01-06 08:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561121119 ms) 2026-01-06 08:06:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:06:40.710698+00:00', 'runtime': '561120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561121120 ms) 2026-01-06 08:06:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:05:40.710734+00:00', 'runtime': '561060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561121120 ms) 2026-01-06 08:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561140090 ms) 2026-01-06 08:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561140091 ms) 2026-01-06 08:07:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:06:40.710826+00:00'} (T+561140093 ms) 2026-01-06 08:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561180083 ms) 2026-01-06 08:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561180083 ms) 2026-01-06 08:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561180083 ms) 2026-01-06 08:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561180083 ms) 2026-01-06 08:07:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561181116 ms) 2026-01-06 08:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561181117 ms) 2026-01-06 08:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:07:40.710727+00:00', 'runtime': '561180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561181119 ms) 2026-01-06 08:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:06:40.710698+00:00', 'runtime': '561120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561181120 ms) 2026-01-06 08:08:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561200088 ms) 2026-01-06 08:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561200089 ms) 2026-01-06 08:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:07:40.710850+00:00'} (T+561200092 ms) 2026-01-06 08:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561240083 ms) 2026-01-06 08:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561240084 ms) 2026-01-06 08:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561240084 ms) 2026-01-06 08:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561240084 ms) 2026-01-06 08:08:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561241117 ms) 2026-01-06 08:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561241117 ms) 2026-01-06 08:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:08:40.710777+00:00', 'runtime': '561240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561241118 ms) 2026-01-06 08:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:07:40.710727+00:00', 'runtime': '561180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561241119 ms) 2026-01-06 08:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561260090 ms) 2026-01-06 08:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561260091 ms) 2026-01-06 08:09:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:08:40.710869+00:00'} (T+561260093 ms) 2026-01-06 08:09:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561300076 ms) 2026-01-06 08:09:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561300076 ms) 2026-01-06 08:09:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561300076 ms) 2026-01-06 08:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561300077 ms) 2026-01-06 08:09:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561301111 ms) 2026-01-06 08:09:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561301112 ms) 2026-01-06 08:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:09:40.710741+00:00', 'runtime': '561300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561301114 ms) 2026-01-06 08:09:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:08:40.710777+00:00', 'runtime': '561240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561301115 ms) 2026-01-06 08:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561320087 ms) 2026-01-06 08:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561320088 ms) 2026-01-06 08:10:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:09:40.710852+00:00'} (T+561320090 ms) 2026-01-06 08:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561360083 ms) 2026-01-06 08:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561360084 ms) 2026-01-06 08:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561360084 ms) 2026-01-06 08:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561360085 ms) 2026-01-06 08:10:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561361123 ms) 2026-01-06 08:10:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561361124 ms) 2026-01-06 08:10:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:10:40.710727+00:00', 'runtime': '561360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561361126 ms) 2026-01-06 08:10:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:09:40.710741+00:00', 'runtime': '561300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561361127 ms) 2026-01-06 08:11:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561380089 ms) 2026-01-06 08:11:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561380090 ms) 2026-01-06 08:11:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:10:40.710823+00:00'} (T+561380093 ms) 2026-01-06 08:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561420083 ms) 2026-01-06 08:11:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561420084 ms) 2026-01-06 08:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561420084 ms) 2026-01-06 08:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561420084 ms) 2026-01-06 08:11:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561421119 ms) 2026-01-06 08:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561421120 ms) 2026-01-06 08:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:11:40.710718+00:00', 'runtime': '561420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561421121 ms) 2026-01-06 08:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:10:40.710727+00:00', 'runtime': '561360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561421121 ms) 2026-01-06 08:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561440090 ms) 2026-01-06 08:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561440091 ms) 2026-01-06 08:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:11:40.710814+00:00'} (T+561440094 ms) 2026-01-06 08:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561480083 ms) 2026-01-06 08:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561480084 ms) 2026-01-06 08:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561480084 ms) 2026-01-06 08:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561480084 ms) 2026-01-06 08:12:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561481119 ms) 2026-01-06 08:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561481120 ms) 2026-01-06 08:12:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:12:40.710781+00:00', 'runtime': '561480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561481121 ms) 2026-01-06 08:12:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:11:40.710718+00:00', 'runtime': '561420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561481122 ms) 2026-01-06 08:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561500090 ms) 2026-01-06 08:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561500091 ms) 2026-01-06 08:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:12:40.710894+00:00'} (T+561500094 ms) 2026-01-06 08:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561540083 ms) 2026-01-06 08:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561540083 ms) 2026-01-06 08:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561540083 ms) 2026-01-06 08:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561540084 ms) 2026-01-06 08:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561541116 ms) 2026-01-06 08:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561541117 ms) 2026-01-06 08:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:13:40.710777+00:00', 'runtime': '561540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561541117 ms) 2026-01-06 08:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:12:40.710781+00:00', 'runtime': '561480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561541118 ms) 2026-01-06 08:14:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561560091 ms) 2026-01-06 08:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561560092 ms) 2026-01-06 08:14:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:13:40.710840+00:00'} (T+561560095 ms) 2026-01-06 08:14:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561600078 ms) 2026-01-06 08:14:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561600078 ms) 2026-01-06 08:14:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561600079 ms) 2026-01-06 08:14:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561600079 ms) 2026-01-06 08:14:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561601114 ms) 2026-01-06 08:14:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561601115 ms) 2026-01-06 08:14:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:14:40.713171+00:00', 'runtime': '561600.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561601116 ms) 2026-01-06 08:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:13:40.710777+00:00', 'runtime': '561540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561601117 ms) 2026-01-06 08:15:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561620085 ms) 2026-01-06 08:15:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561620086 ms) 2026-01-06 08:15:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:14:40.710812+00:00'} (T+561620089 ms) 2026-01-06 08:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561660083 ms) 2026-01-06 08:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561660083 ms) 2026-01-06 08:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561660083 ms) 2026-01-06 08:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561660084 ms) 2026-01-06 08:15:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561661119 ms) 2026-01-06 08:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561661119 ms) 2026-01-06 08:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:15:40.710692+00:00', 'runtime': '561660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561661120 ms) 2026-01-06 08:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:14:40.713171+00:00', 'runtime': '561600.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561661121 ms) 2026-01-06 08:16:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561680088 ms) 2026-01-06 08:16:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561680089 ms) 2026-01-06 08:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:15:40.710838+00:00'} (T+561680092 ms) 2026-01-06 08:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561720083 ms) 2026-01-06 08:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561720083 ms) 2026-01-06 08:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561720084 ms) 2026-01-06 08:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561720084 ms) 2026-01-06 08:16:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561721118 ms) 2026-01-06 08:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561721119 ms) 2026-01-06 08:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:16:40.710770+00:00', 'runtime': '561720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561721121 ms) 2026-01-06 08:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:15:40.710692+00:00', 'runtime': '561660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561721121 ms) 2026-01-06 08:17:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561740093 ms) 2026-01-06 08:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561740094 ms) 2026-01-06 08:17:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:16:40.713241+00:00'} (T+561740097 ms) 2026-01-06 08:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561780083 ms) 2026-01-06 08:17:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561780084 ms) 2026-01-06 08:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561780084 ms) 2026-01-06 08:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561780085 ms) 2026-01-06 08:17:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561781124 ms) 2026-01-06 08:17:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561781125 ms) 2026-01-06 08:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:17:40.710767+00:00', 'runtime': '561780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561781127 ms) 2026-01-06 08:17:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:16:40.710770+00:00', 'runtime': '561720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561781128 ms) 2026-01-06 08:18:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561800092 ms) 2026-01-06 08:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561800093 ms) 2026-01-06 08:18:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:17:40.713233+00:00'} (T+561800096 ms) 2026-01-06 08:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561840082 ms) 2026-01-06 08:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561840083 ms) 2026-01-06 08:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561840083 ms) 2026-01-06 08:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561840084 ms) 2026-01-06 08:18:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561841119 ms) 2026-01-06 08:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561841120 ms) 2026-01-06 08:18:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:18:40.710727+00:00', 'runtime': '561840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561841121 ms) 2026-01-06 08:18:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:17:40.710767+00:00', 'runtime': '561780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561841122 ms) 2026-01-06 08:19:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561860091 ms) 2026-01-06 08:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561860092 ms) 2026-01-06 08:19:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:18:40.710832+00:00'} (T+561860095 ms) 2026-01-06 08:19:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561900086 ms) 2026-01-06 08:19:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561900086 ms) 2026-01-06 08:19:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561900087 ms) 2026-01-06 08:19:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561900087 ms) 2026-01-06 08:19:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561901122 ms) 2026-01-06 08:19:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561901122 ms) 2026-01-06 08:19:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:19:40.713166+00:00', 'runtime': '561900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561901124 ms) 2026-01-06 08:19:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:18:40.710727+00:00', 'runtime': '561840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561901124 ms) 2026-01-06 08:20:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561920087 ms) 2026-01-06 08:20:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561920088 ms) 2026-01-06 08:20:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:19:40.710821+00:00'} (T+561920091 ms) 2026-01-06 08:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+561960082 ms) 2026-01-06 08:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+561960083 ms) 2026-01-06 08:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+561960083 ms) 2026-01-06 08:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+561960084 ms) 2026-01-06 08:20:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+561961113 ms) 2026-01-06 08:20:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+561961114 ms) 2026-01-06 08:20:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:20:40.710713+00:00', 'runtime': '561960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561961115 ms) 2026-01-06 08:20:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:19:40.713166+00:00', 'runtime': '561900.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+561961115 ms) 2026-01-06 08:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561980090 ms) 2026-01-06 08:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+561980091 ms) 2026-01-06 08:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:20:40.710849+00:00'} (T+561980094 ms) 2026-01-06 08:21:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562020076 ms) 2026-01-06 08:21:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562020077 ms) 2026-01-06 08:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562020077 ms) 2026-01-06 08:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562020077 ms) 2026-01-06 08:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562021114 ms) 2026-01-06 08:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562021115 ms) 2026-01-06 08:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:21:40.710751+00:00', 'runtime': '562020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562021117 ms) 2026-01-06 08:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:20:40.710713+00:00', 'runtime': '561960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562021118 ms) 2026-01-06 08:22:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562040087 ms) 2026-01-06 08:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562040088 ms) 2026-01-06 08:22:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:21:40.710843+00:00'} (T+562040094 ms) 2026-01-06 08:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562080083 ms) 2026-01-06 08:22:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562080084 ms) 2026-01-06 08:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562080084 ms) 2026-01-06 08:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562080085 ms) 2026-01-06 08:22:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562081122 ms) 2026-01-06 08:22:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562081123 ms) 2026-01-06 08:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:22:40.710759+00:00', 'runtime': '562080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562081125 ms) 2026-01-06 08:22:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:21:40.710751+00:00', 'runtime': '562020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562081126 ms) 2026-01-06 08:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562100090 ms) 2026-01-06 08:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562100091 ms) 2026-01-06 08:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:22:40.710860+00:00'} (T+562100094 ms) 2026-01-06 08:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562140083 ms) 2026-01-06 08:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562140083 ms) 2026-01-06 08:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562140083 ms) 2026-01-06 08:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562140083 ms) 2026-01-06 08:23:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562141116 ms) 2026-01-06 08:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562141117 ms) 2026-01-06 08:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:23:40.710730+00:00', 'runtime': '562140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562141119 ms) 2026-01-06 08:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:22:40.710759+00:00', 'runtime': '562080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562141120 ms) 2026-01-06 08:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562160090 ms) 2026-01-06 08:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562160091 ms) 2026-01-06 08:24:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:23:40.710866+00:00'} (T+562160093 ms) 2026-01-06 08:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562200083 ms) 2026-01-06 08:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562200083 ms) 2026-01-06 08:24:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562200084 ms) 2026-01-06 08:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562200084 ms) 2026-01-06 08:24:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562201118 ms) 2026-01-06 08:24:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562201118 ms) 2026-01-06 08:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:24:40.710746+00:00', 'runtime': '562200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562201119 ms) 2026-01-06 08:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:23:40.710730+00:00', 'runtime': '562140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562201119 ms) 2026-01-06 08:25:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562220091 ms) 2026-01-06 08:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562220092 ms) 2026-01-06 08:25:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:24:40.710868+00:00'} (T+562220095 ms) 2026-01-06 08:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562260083 ms) 2026-01-06 08:25:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562260083 ms) 2026-01-06 08:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562260084 ms) 2026-01-06 08:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562260084 ms) 2026-01-06 08:25:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562261122 ms) 2026-01-06 08:25:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562261123 ms) 2026-01-06 08:25:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:25:40.710774+00:00', 'runtime': '562260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562261125 ms) 2026-01-06 08:25:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:24:40.710746+00:00', 'runtime': '562200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562261126 ms) 2026-01-06 08:26:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562280093 ms) 2026-01-06 08:26:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562280095 ms) 2026-01-06 08:26:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:25:40.713239+00:00'} (T+562280097 ms) 2026-01-06 08:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562320083 ms) 2026-01-06 08:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562320083 ms) 2026-01-06 08:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562320083 ms) 2026-01-06 08:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562320084 ms) 2026-01-06 08:26:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562321124 ms) 2026-01-06 08:26:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562321125 ms) 2026-01-06 08:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:26:40.710762+00:00', 'runtime': '562320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562321127 ms) 2026-01-06 08:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:25:40.710774+00:00', 'runtime': '562260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562321128 ms) 2026-01-06 08:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562340091 ms) 2026-01-06 08:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562340092 ms) 2026-01-06 08:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:26:40.710856+00:00'} (T+562340094 ms) 2026-01-06 08:27:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562380077 ms) 2026-01-06 08:27:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562380078 ms) 2026-01-06 08:27:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562380078 ms) 2026-01-06 08:27:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562380078 ms) 2026-01-06 08:27:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562381114 ms) 2026-01-06 08:27:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562381115 ms) 2026-01-06 08:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:27:40.710742+00:00', 'runtime': '562380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562381117 ms) 2026-01-06 08:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:26:40.710762+00:00', 'runtime': '562320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562381118 ms) 2026-01-06 08:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562400090 ms) 2026-01-06 08:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562400091 ms) 2026-01-06 08:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:27:40.713233+00:00'} (T+562400093 ms) 2026-01-06 08:28:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562440078 ms) 2026-01-06 08:28:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562440079 ms) 2026-01-06 08:28:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562440079 ms) 2026-01-06 08:28:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562440079 ms) 2026-01-06 08:28:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562441113 ms) 2026-01-06 08:28:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562441114 ms) 2026-01-06 08:28:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:28:40.710733+00:00', 'runtime': '562440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562441116 ms) 2026-01-06 08:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:27:40.710742+00:00', 'runtime': '562380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562441117 ms) 2026-01-06 08:29:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562460087 ms) 2026-01-06 08:29:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562460089 ms) 2026-01-06 08:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:28:40.710864+00:00'} (T+562460092 ms) 2026-01-06 08:29:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562500084 ms) 2026-01-06 08:29:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562500085 ms) 2026-01-06 08:29:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562500085 ms) 2026-01-06 08:29:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562500086 ms) 2026-01-06 08:29:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562501120 ms) 2026-01-06 08:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562501120 ms) 2026-01-06 08:29:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:29:40.710731+00:00', 'runtime': '562500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562501121 ms) 2026-01-06 08:29:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:28:40.710733+00:00', 'runtime': '562440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562501122 ms) 2026-01-06 08:30:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562520093 ms) 2026-01-06 08:30:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562520094 ms) 2026-01-06 08:30:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:29:40.713231+00:00'} (T+562520097 ms) 2026-01-06 08:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562560083 ms) 2026-01-06 08:30:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562560084 ms) 2026-01-06 08:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562560084 ms) 2026-01-06 08:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562560085 ms) 2026-01-06 08:30:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562561118 ms) 2026-01-06 08:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562561118 ms) 2026-01-06 08:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:30:40.710762+00:00', 'runtime': '562560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562561119 ms) 2026-01-06 08:30:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:29:40.710731+00:00', 'runtime': '562500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562561120 ms) 2026-01-06 08:31:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562580093 ms) 2026-01-06 08:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562580094 ms) 2026-01-06 08:31:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:30:40.713240+00:00'} (T+562580097 ms) 2026-01-06 08:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562620083 ms) 2026-01-06 08:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562620083 ms) 2026-01-06 08:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562620084 ms) 2026-01-06 08:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562620084 ms) 2026-01-06 08:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562621119 ms) 2026-01-06 08:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562621119 ms) 2026-01-06 08:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:31:40.710730+00:00', 'runtime': '562620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562621120 ms) 2026-01-06 08:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:30:40.710762+00:00', 'runtime': '562560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562621121 ms) 2026-01-06 08:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562640090 ms) 2026-01-06 08:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562640091 ms) 2026-01-06 08:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:31:40.710847+00:00'} (T+562640094 ms) 2026-01-06 08:32:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562680077 ms) 2026-01-06 08:32:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562680077 ms) 2026-01-06 08:32:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562680077 ms) 2026-01-06 08:32:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562680078 ms) 2026-01-06 08:32:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562681111 ms) 2026-01-06 08:32:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562681112 ms) 2026-01-06 08:32:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:32:40.710748+00:00', 'runtime': '562680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562681115 ms) 2026-01-06 08:32:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:31:40.710730+00:00', 'runtime': '562620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562681115 ms) 2026-01-06 08:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562700090 ms) 2026-01-06 08:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562700091 ms) 2026-01-06 08:33:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:32:40.710857+00:00'} (T+562700093 ms) 2026-01-06 08:33:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562740085 ms) 2026-01-06 08:33:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562740085 ms) 2026-01-06 08:33:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562740086 ms) 2026-01-06 08:33:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562740086 ms) 2026-01-06 08:33:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562741122 ms) 2026-01-06 08:33:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562741123 ms) 2026-01-06 08:33:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:33:40.713167+00:00', 'runtime': '562740.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562741124 ms) 2026-01-06 08:33:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:32:40.710748+00:00', 'runtime': '562680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562741124 ms) 2026-01-06 08:34:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562760088 ms) 2026-01-06 08:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562760089 ms) 2026-01-06 08:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:33:40.710813+00:00'} (T+562760092 ms) 2026-01-06 08:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562800083 ms) 2026-01-06 08:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562800083 ms) 2026-01-06 08:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562800084 ms) 2026-01-06 08:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562800084 ms) 2026-01-06 08:34:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562801123 ms) 2026-01-06 08:34:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562801124 ms) 2026-01-06 08:34:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:34:40.710748+00:00', 'runtime': '562800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562801126 ms) 2026-01-06 08:34:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:33:40.713167+00:00', 'runtime': '562740.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562801127 ms) 2026-01-06 08:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562820091 ms) 2026-01-06 08:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562820092 ms) 2026-01-06 08:35:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:34:40.710844+00:00'} (T+562820095 ms) 2026-01-06 08:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562860083 ms) 2026-01-06 08:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562860083 ms) 2026-01-06 08:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562860083 ms) 2026-01-06 08:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562860084 ms) 2026-01-06 08:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562861117 ms) 2026-01-06 08:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562861117 ms) 2026-01-06 08:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:35:40.710710+00:00', 'runtime': '562860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562861118 ms) 2026-01-06 08:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:34:40.710748+00:00', 'runtime': '562800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562861119 ms) 2026-01-06 08:36:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562880087 ms) 2026-01-06 08:36:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562880088 ms) 2026-01-06 08:36:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:35:40.710854+00:00'} (T+562880090 ms) 2026-01-06 08:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562920083 ms) 2026-01-06 08:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562920084 ms) 2026-01-06 08:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562920084 ms) 2026-01-06 08:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562920084 ms) 2026-01-06 08:36:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562921124 ms) 2026-01-06 08:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562921125 ms) 2026-01-06 08:36:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:36:40.710766+00:00', 'runtime': '562920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562921127 ms) 2026-01-06 08:36:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:35:40.710710+00:00', 'runtime': '562860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562921128 ms) 2026-01-06 08:37:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562940092 ms) 2026-01-06 08:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+562940093 ms) 2026-01-06 08:37:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:36:40.713238+00:00'} (T+562940096 ms) 2026-01-06 08:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+562980083 ms) 2026-01-06 08:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+562980083 ms) 2026-01-06 08:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+562980083 ms) 2026-01-06 08:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+562980084 ms) 2026-01-06 08:37:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+562981118 ms) 2026-01-06 08:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+562981119 ms) 2026-01-06 08:37:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:37:40.710705+00:00', 'runtime': '562980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562981120 ms) 2026-01-06 08:37:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:36:40.710766+00:00', 'runtime': '562920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+562981120 ms) 2026-01-06 08:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563000090 ms) 2026-01-06 08:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563000091 ms) 2026-01-06 08:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:37:40.710843+00:00'} (T+563000094 ms) 2026-01-06 08:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563040083 ms) 2026-01-06 08:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563040083 ms) 2026-01-06 08:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563040084 ms) 2026-01-06 08:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563040084 ms) 2026-01-06 08:38:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563041118 ms) 2026-01-06 08:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563041119 ms) 2026-01-06 08:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:38:40.710729+00:00', 'runtime': '563040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563041120 ms) 2026-01-06 08:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:37:40.710705+00:00', 'runtime': '562980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563041120 ms) 2026-01-06 08:39:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563060091 ms) 2026-01-06 08:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563060092 ms) 2026-01-06 08:39:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:38:40.713234+00:00'} (T+563060095 ms) 2026-01-06 08:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563100082 ms) 2026-01-06 08:39:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563100083 ms) 2026-01-06 08:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563100083 ms) 2026-01-06 08:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563100083 ms) 2026-01-06 08:39:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563101119 ms) 2026-01-06 08:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563101119 ms) 2026-01-06 08:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:39:40.710722+00:00', 'runtime': '563100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563101120 ms) 2026-01-06 08:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:38:40.710729+00:00', 'runtime': '563040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563101121 ms) 2026-01-06 08:40:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563120088 ms) 2026-01-06 08:40:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563120089 ms) 2026-01-06 08:40:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:39:40.710852+00:00'} (T+563120092 ms) 2026-01-06 08:40:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563160077 ms) 2026-01-06 08:40:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563160077 ms) 2026-01-06 08:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563160077 ms) 2026-01-06 08:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563160078 ms) 2026-01-06 08:40:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563161114 ms) 2026-01-06 08:40:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563161115 ms) 2026-01-06 08:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:40:40.710723+00:00', 'runtime': '563160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563161117 ms) 2026-01-06 08:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:39:40.710722+00:00', 'runtime': '563100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563161118 ms) 2026-01-06 08:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563180091 ms) 2026-01-06 08:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563180092 ms) 2026-01-06 08:41:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:40:40.713235+00:00'} (T+563180094 ms) 2026-01-06 08:41:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563220079 ms) 2026-01-06 08:41:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563220080 ms) 2026-01-06 08:41:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563220080 ms) 2026-01-06 08:41:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563220080 ms) 2026-01-06 08:41:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563221117 ms) 2026-01-06 08:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563221118 ms) 2026-01-06 08:41:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:41:40.710704+00:00', 'runtime': '563220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563221121 ms) 2026-01-06 08:41:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:40:40.710723+00:00', 'runtime': '563160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563221122 ms) 2026-01-06 08:42:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563240090 ms) 2026-01-06 08:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563240091 ms) 2026-01-06 08:42:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:41:40.710855+00:00'} (T+563240094 ms) 2026-01-06 08:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563280084 ms) 2026-01-06 08:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563280084 ms) 2026-01-06 08:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563280084 ms) 2026-01-06 08:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563280085 ms) 2026-01-06 08:42:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563281123 ms) 2026-01-06 08:42:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563281124 ms) 2026-01-06 08:42:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:42:40.710725+00:00', 'runtime': '563280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563281126 ms) 2026-01-06 08:42:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:41:40.710704+00:00', 'runtime': '563220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563281127 ms) 2026-01-06 08:43:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563300092 ms) 2026-01-06 08:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563300093 ms) 2026-01-06 08:43:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:42:40.713230+00:00'} (T+563300096 ms) 2026-01-06 08:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563340083 ms) 2026-01-06 08:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563340083 ms) 2026-01-06 08:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563340084 ms) 2026-01-06 08:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563340084 ms) 2026-01-06 08:43:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563341116 ms) 2026-01-06 08:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563341117 ms) 2026-01-06 08:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:43:40.710723+00:00', 'runtime': '563340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563341118 ms) 2026-01-06 08:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:42:40.710725+00:00', 'runtime': '563280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563341118 ms) 2026-01-06 08:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563360090 ms) 2026-01-06 08:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563360091 ms) 2026-01-06 08:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:43:40.710844+00:00'} (T+563360094 ms) 2026-01-06 08:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563400083 ms) 2026-01-06 08:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563400083 ms) 2026-01-06 08:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563400084 ms) 2026-01-06 08:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563400084 ms) 2026-01-06 08:44:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563401118 ms) 2026-01-06 08:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563401118 ms) 2026-01-06 08:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:44:40.710762+00:00', 'runtime': '563400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563401119 ms) 2026-01-06 08:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:43:40.710723+00:00', 'runtime': '563340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563401120 ms) 2026-01-06 08:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563420090 ms) 2026-01-06 08:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563420091 ms) 2026-01-06 08:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:44:40.710857+00:00'} (T+563420094 ms) 2026-01-06 08:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563460083 ms) 2026-01-06 08:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563460083 ms) 2026-01-06 08:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563460083 ms) 2026-01-06 08:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563460084 ms) 2026-01-06 08:45:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563461119 ms) 2026-01-06 08:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563461119 ms) 2026-01-06 08:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:45:40.710777+00:00', 'runtime': '563460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563461120 ms) 2026-01-06 08:45:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:44:40.710762+00:00', 'runtime': '563400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563461120 ms) 2026-01-06 08:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563480090 ms) 2026-01-06 08:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563480091 ms) 2026-01-06 08:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:45:40.710864+00:00'} (T+563480094 ms) 2026-01-06 08:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563520082 ms) 2026-01-06 08:46:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563520082 ms) 2026-01-06 08:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563520083 ms) 2026-01-06 08:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563520083 ms) 2026-01-06 08:46:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563521116 ms) 2026-01-06 08:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563521117 ms) 2026-01-06 08:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:46:40.710712+00:00', 'runtime': '563520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563521119 ms) 2026-01-06 08:46:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:45:40.710777+00:00', 'runtime': '563460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563521120 ms) 2026-01-06 08:47:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563540085 ms) 2026-01-06 08:47:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563540086 ms) 2026-01-06 08:47:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:46:40.710864+00:00'} (T+563540089 ms) 2026-01-06 08:47:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563580083 ms) 2026-01-06 08:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563580083 ms) 2026-01-06 08:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563580084 ms) 2026-01-06 08:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563580084 ms) 2026-01-06 08:47:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563581113 ms) 2026-01-06 08:47:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563581113 ms) 2026-01-06 08:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:47:40.710694+00:00', 'runtime': '563580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563581114 ms) 2026-01-06 08:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:46:40.710712+00:00', 'runtime': '563520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563581115 ms) 2026-01-06 08:48:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563600091 ms) 2026-01-06 08:48:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563600092 ms) 2026-01-06 08:48:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:47:40.713251+00:00'} (T+563600096 ms) 2026-01-06 08:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563640083 ms) 2026-01-06 08:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563640083 ms) 2026-01-06 08:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563640084 ms) 2026-01-06 08:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563640084 ms) 2026-01-06 08:48:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563641122 ms) 2026-01-06 08:48:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563641123 ms) 2026-01-06 08:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:48:40.710789+00:00', 'runtime': '563640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563641125 ms) 2026-01-06 08:48:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:47:40.710694+00:00', 'runtime': '563580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563641126 ms) 2026-01-06 08:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563660090 ms) 2026-01-06 08:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563660092 ms) 2026-01-06 08:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:48:40.710886+00:00'} (T+563660093 ms) 2026-01-06 08:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563700082 ms) 2026-01-06 08:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563700083 ms) 2026-01-06 08:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563700083 ms) 2026-01-06 08:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563700084 ms) 2026-01-06 08:49:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563701118 ms) 2026-01-06 08:49:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563701119 ms) 2026-01-06 08:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:49:40.710721+00:00', 'runtime': '563700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563701121 ms) 2026-01-06 08:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:48:40.710789+00:00', 'runtime': '563640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563701121 ms) 2026-01-06 08:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563720090 ms) 2026-01-06 08:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563720091 ms) 2026-01-06 08:50:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:49:40.710854+00:00'} (T+563720094 ms) 2026-01-06 08:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563760083 ms) 2026-01-06 08:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563760083 ms) 2026-01-06 08:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563760084 ms) 2026-01-06 08:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563760084 ms) 2026-01-06 08:50:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563761116 ms) 2026-01-06 08:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563761117 ms) 2026-01-06 08:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:50:40.710768+00:00', 'runtime': '563760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563761118 ms) 2026-01-06 08:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:49:40.710721+00:00', 'runtime': '563700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563761118 ms) 2026-01-06 08:51:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563780091 ms) 2026-01-06 08:51:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563780092 ms) 2026-01-06 08:51:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:50:40.710872+00:00'} (T+563780095 ms) 2026-01-06 08:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563820083 ms) 2026-01-06 08:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563820084 ms) 2026-01-06 08:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563820084 ms) 2026-01-06 08:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563820084 ms) 2026-01-06 08:51:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563821115 ms) 2026-01-06 08:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563821116 ms) 2026-01-06 08:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:51:40.710743+00:00', 'runtime': '563820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563821117 ms) 2026-01-06 08:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:50:40.710768+00:00', 'runtime': '563760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563821117 ms) 2026-01-06 08:52:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563840092 ms) 2026-01-06 08:52:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563840093 ms) 2026-01-06 08:52:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:51:40.713236+00:00'} (T+563840096 ms) 2026-01-06 08:52:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563880078 ms) 2026-01-06 08:52:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563880078 ms) 2026-01-06 08:52:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563880078 ms) 2026-01-06 08:52:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563880079 ms) 2026-01-06 08:52:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563881116 ms) 2026-01-06 08:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563881117 ms) 2026-01-06 08:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:52:40.710712+00:00', 'runtime': '563880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563881121 ms) 2026-01-06 08:52:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:51:40.710743+00:00', 'runtime': '563820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563881122 ms) 2026-01-06 08:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563900087 ms) 2026-01-06 08:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563900088 ms) 2026-01-06 08:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:52:40.710821+00:00'} (T+563900091 ms) 2026-01-06 08:53:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+563940077 ms) 2026-01-06 08:53:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+563940077 ms) 2026-01-06 08:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+563940077 ms) 2026-01-06 08:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+563940078 ms) 2026-01-06 08:53:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+563941112 ms) 2026-01-06 08:53:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+563941113 ms) 2026-01-06 08:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:53:40.710729+00:00', 'runtime': '563940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563941115 ms) 2026-01-06 08:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:52:40.710712+00:00', 'runtime': '563880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+563941116 ms) 2026-01-06 08:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563960087 ms) 2026-01-06 08:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+563960088 ms) 2026-01-06 08:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:53:40.713232+00:00'} (T+563960091 ms) 2026-01-06 08:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564000083 ms) 2026-01-06 08:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564000083 ms) 2026-01-06 08:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564000083 ms) 2026-01-06 08:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564000084 ms) 2026-01-06 08:54:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564001124 ms) 2026-01-06 08:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564001125 ms) 2026-01-06 08:54:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:54:40.710753+00:00', 'runtime': '564000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564001127 ms) 2026-01-06 08:54:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:53:40.710729+00:00', 'runtime': '563940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564001128 ms) 2026-01-06 08:55:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564020093 ms) 2026-01-06 08:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564020094 ms) 2026-01-06 08:55:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:54:40.713244+00:00'} (T+564020097 ms) 2026-01-06 08:55:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564060076 ms) 2026-01-06 08:55:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564060076 ms) 2026-01-06 08:55:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564060076 ms) 2026-01-06 08:55:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564060076 ms) 2026-01-06 08:55:41.789 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564061110 ms) 2026-01-06 08:55:41.790 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564061111 ms) 2026-01-06 08:55:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:55:40.710724+00:00', 'runtime': '564060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564061113 ms) 2026-01-06 08:55:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:54:40.710753+00:00', 'runtime': '564000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564061114 ms) 2026-01-06 08:56:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564080085 ms) 2026-01-06 08:56:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564080087 ms) 2026-01-06 08:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:55:40.710859+00:00'} (T+564080088 ms) 2026-01-06 08:56:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564120085 ms) 2026-01-06 08:56:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564120085 ms) 2026-01-06 08:56:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564120085 ms) 2026-01-06 08:56:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564120086 ms) 2026-01-06 08:56:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564121114 ms) 2026-01-06 08:56:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564121114 ms) 2026-01-06 08:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:56:40.713159+00:00', 'runtime': '564120.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564121115 ms) 2026-01-06 08:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:55:40.710724+00:00', 'runtime': '564060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564121115 ms) 2026-01-06 08:57:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564140087 ms) 2026-01-06 08:57:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564140089 ms) 2026-01-06 08:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:56:40.710792+00:00'} (T+564140092 ms) 2026-01-06 08:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564180082 ms) 2026-01-06 08:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564180083 ms) 2026-01-06 08:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564180083 ms) 2026-01-06 08:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564180084 ms) 2026-01-06 08:57:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564181117 ms) 2026-01-06 08:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564181117 ms) 2026-01-06 08:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:57:40.710723+00:00', 'runtime': '564180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564181118 ms) 2026-01-06 08:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:56:40.713159+00:00', 'runtime': '564120.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564181119 ms) 2026-01-06 08:58:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564200091 ms) 2026-01-06 08:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564200092 ms) 2026-01-06 08:58:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:57:40.713231+00:00'} (T+564200095 ms) 2026-01-06 08:58:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564240077 ms) 2026-01-06 08:58:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564240077 ms) 2026-01-06 08:58:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564240078 ms) 2026-01-06 08:58:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564240078 ms) 2026-01-06 08:58:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564241114 ms) 2026-01-06 08:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564241115 ms) 2026-01-06 08:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:58:40.710747+00:00', 'runtime': '564240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564241117 ms) 2026-01-06 08:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:57:40.710723+00:00', 'runtime': '564180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564241118 ms) 2026-01-06 08:59:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564260088 ms) 2026-01-06 08:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564260089 ms) 2026-01-06 08:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:58:40.710846+00:00'} (T+564260092 ms) 2026-01-06 08:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564300083 ms) 2026-01-06 08:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564300083 ms) 2026-01-06 08:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564300084 ms) 2026-01-06 08:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564300084 ms) 2026-01-06 08:59:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564301122 ms) 2026-01-06 08:59:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564301123 ms) 2026-01-06 08:59:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 08:59:40.710769+00:00', 'runtime': '564300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564301125 ms) 2026-01-06 08:59:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:58:40.710747+00:00', 'runtime': '564240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564301126 ms) 2026-01-06 09:00:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564320093 ms) 2026-01-06 09:00:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564320094 ms) 2026-01-06 09:00:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 08:59:40.713236+00:00'} (T+564320097 ms) 2026-01-06 09:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564360082 ms) 2026-01-06 09:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564360083 ms) 2026-01-06 09:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564360083 ms) 2026-01-06 09:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564360083 ms) 2026-01-06 09:00:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564361113 ms) 2026-01-06 09:00:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564361114 ms) 2026-01-06 09:00:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:00:40.710709+00:00', 'runtime': '564360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564361115 ms) 2026-01-06 09:00:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 08:59:40.710769+00:00', 'runtime': '564300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564361115 ms) 2026-01-06 09:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564380090 ms) 2026-01-06 09:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564380091 ms) 2026-01-06 09:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:00:40.710840+00:00'} (T+564380094 ms) 2026-01-06 09:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564420082 ms) 2026-01-06 09:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564420083 ms) 2026-01-06 09:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564420083 ms) 2026-01-06 09:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564420084 ms) 2026-01-06 09:01:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564421120 ms) 2026-01-06 09:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564421120 ms) 2026-01-06 09:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:01:40.710736+00:00', 'runtime': '564420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564421121 ms) 2026-01-06 09:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:00:40.710709+00:00', 'runtime': '564360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564421122 ms) 2026-01-06 09:02:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564440087 ms) 2026-01-06 09:02:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564440088 ms) 2026-01-06 09:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:01:40.710830+00:00'} (T+564440091 ms) 2026-01-06 09:02:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564480078 ms) 2026-01-06 09:02:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564480078 ms) 2026-01-06 09:02:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564480079 ms) 2026-01-06 09:02:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564480079 ms) 2026-01-06 09:02:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564481113 ms) 2026-01-06 09:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564481114 ms) 2026-01-06 09:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:02:40.710745+00:00', 'runtime': '564480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564481118 ms) 2026-01-06 09:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:01:40.710736+00:00', 'runtime': '564420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564481119 ms) 2026-01-06 09:03:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564500092 ms) 2026-01-06 09:03:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564500093 ms) 2026-01-06 09:03:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:02:40.713241+00:00'} (T+564500095 ms) 2026-01-06 09:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564540083 ms) 2026-01-06 09:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564540084 ms) 2026-01-06 09:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564540084 ms) 2026-01-06 09:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564540084 ms) 2026-01-06 09:03:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564541114 ms) 2026-01-06 09:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564541115 ms) 2026-01-06 09:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:03:40.710718+00:00', 'runtime': '564540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564541116 ms) 2026-01-06 09:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:02:40.710745+00:00', 'runtime': '564480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564541116 ms) 2026-01-06 09:04:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564560089 ms) 2026-01-06 09:04:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564560090 ms) 2026-01-06 09:04:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:03:40.710852+00:00'} (T+564560093 ms) 2026-01-06 09:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564600083 ms) 2026-01-06 09:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564600083 ms) 2026-01-06 09:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564600084 ms) 2026-01-06 09:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564600084 ms) 2026-01-06 09:04:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564601121 ms) 2026-01-06 09:04:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564601122 ms) 2026-01-06 09:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:04:40.710788+00:00', 'runtime': '564600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564601124 ms) 2026-01-06 09:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:03:40.710718+00:00', 'runtime': '564540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564601125 ms) 2026-01-06 09:05:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564620091 ms) 2026-01-06 09:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564620092 ms) 2026-01-06 09:05:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:04:40.710830+00:00'} (T+564620095 ms) 2026-01-06 09:05:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564660083 ms) 2026-01-06 09:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564660083 ms) 2026-01-06 09:05:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564660083 ms) 2026-01-06 09:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564660084 ms) 2026-01-06 09:05:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564661116 ms) 2026-01-06 09:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564661117 ms) 2026-01-06 09:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:05:40.710711+00:00', 'runtime': '564660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564661118 ms) 2026-01-06 09:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:04:40.710788+00:00', 'runtime': '564600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564661118 ms) 2026-01-06 09:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564680090 ms) 2026-01-06 09:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564680091 ms) 2026-01-06 09:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:05:40.710822+00:00'} (T+564680094 ms) 2026-01-06 09:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564720083 ms) 2026-01-06 09:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564720083 ms) 2026-01-06 09:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564720083 ms) 2026-01-06 09:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564720084 ms) 2026-01-06 09:06:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564721116 ms) 2026-01-06 09:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564721116 ms) 2026-01-06 09:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:06:40.710738+00:00', 'runtime': '564720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564721118 ms) 2026-01-06 09:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:05:40.710711+00:00', 'runtime': '564660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564721118 ms) 2026-01-06 09:07:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564740087 ms) 2026-01-06 09:07:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564740088 ms) 2026-01-06 09:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:06:40.710848+00:00'} (T+564740091 ms) 2026-01-06 09:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564780082 ms) 2026-01-06 09:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564780083 ms) 2026-01-06 09:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564780083 ms) 2026-01-06 09:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564780084 ms) 2026-01-06 09:07:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564781119 ms) 2026-01-06 09:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564781119 ms) 2026-01-06 09:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:07:40.710783+00:00', 'runtime': '564780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564781120 ms) 2026-01-06 09:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:06:40.710738+00:00', 'runtime': '564720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564781120 ms) 2026-01-06 09:08:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564800090 ms) 2026-01-06 09:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564800092 ms) 2026-01-06 09:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:07:40.710872+00:00'} (T+564800095 ms) 2026-01-06 09:08:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564840085 ms) 2026-01-06 09:08:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564840085 ms) 2026-01-06 09:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564840085 ms) 2026-01-06 09:08:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564840086 ms) 2026-01-06 09:08:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564841119 ms) 2026-01-06 09:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564841120 ms) 2026-01-06 09:08:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:08:40.713163+00:00', 'runtime': '564840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564841121 ms) 2026-01-06 09:08:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:07:40.710783+00:00', 'runtime': '564780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564841121 ms) 2026-01-06 09:09:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564860091 ms) 2026-01-06 09:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564860092 ms) 2026-01-06 09:09:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:08:40.710816+00:00'} (T+564860094 ms) 2026-01-06 09:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564900083 ms) 2026-01-06 09:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564900083 ms) 2026-01-06 09:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564900084 ms) 2026-01-06 09:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564900084 ms) 2026-01-06 09:09:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564901116 ms) 2026-01-06 09:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564901117 ms) 2026-01-06 09:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:09:40.710736+00:00', 'runtime': '564900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564901118 ms) 2026-01-06 09:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:08:40.713163+00:00', 'runtime': '564840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564901118 ms) 2026-01-06 09:10:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564920093 ms) 2026-01-06 09:10:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564920094 ms) 2026-01-06 09:10:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:09:40.713251+00:00'} (T+564920096 ms) 2026-01-06 09:10:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+564960085 ms) 2026-01-06 09:10:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+564960085 ms) 2026-01-06 09:10:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+564960086 ms) 2026-01-06 09:10:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+564960086 ms) 2026-01-06 09:10:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+564961124 ms) 2026-01-06 09:10:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+564961125 ms) 2026-01-06 09:10:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:10:40.713152+00:00', 'runtime': '564960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564961127 ms) 2026-01-06 09:10:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:09:40.710736+00:00', 'runtime': '564900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+564961128 ms) 2026-01-06 09:11:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564980088 ms) 2026-01-06 09:11:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+564980089 ms) 2026-01-06 09:11:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:10:40.710824+00:00'} (T+564980092 ms) 2026-01-06 09:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565020083 ms) 2026-01-06 09:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565020083 ms) 2026-01-06 09:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565020084 ms) 2026-01-06 09:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565020084 ms) 2026-01-06 09:11:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565021117 ms) 2026-01-06 09:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565021117 ms) 2026-01-06 09:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:11:40.710724+00:00', 'runtime': '565020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565021118 ms) 2026-01-06 09:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:10:40.713152+00:00', 'runtime': '564960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565021119 ms) 2026-01-06 09:12:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565040091 ms) 2026-01-06 09:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565040092 ms) 2026-01-06 09:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:11:40.710854+00:00'} (T+565040094 ms) 2026-01-06 09:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565080082 ms) 2026-01-06 09:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565080083 ms) 2026-01-06 09:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565080083 ms) 2026-01-06 09:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565080084 ms) 2026-01-06 09:12:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565081124 ms) 2026-01-06 09:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565081125 ms) 2026-01-06 09:12:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:12:40.710772+00:00', 'runtime': '565080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565081127 ms) 2026-01-06 09:12:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:11:40.710724+00:00', 'runtime': '565020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565081128 ms) 2026-01-06 09:13:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565100088 ms) 2026-01-06 09:13:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565100089 ms) 2026-01-06 09:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:12:40.710870+00:00'} (T+565100092 ms) 2026-01-06 09:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565140083 ms) 2026-01-06 09:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565140083 ms) 2026-01-06 09:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565140083 ms) 2026-01-06 09:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565140084 ms) 2026-01-06 09:13:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565141124 ms) 2026-01-06 09:13:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565141125 ms) 2026-01-06 09:13:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:13:40.710753+00:00', 'runtime': '565140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565141127 ms) 2026-01-06 09:13:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:12:40.710772+00:00', 'runtime': '565080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565141128 ms) 2026-01-06 09:14:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565160092 ms) 2026-01-06 09:14:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565160094 ms) 2026-01-06 09:14:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:13:40.713233+00:00'} (T+565160096 ms) 2026-01-06 09:14:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565200085 ms) 2026-01-06 09:14:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565200086 ms) 2026-01-06 09:14:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565200086 ms) 2026-01-06 09:14:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565200086 ms) 2026-01-06 09:14:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565201119 ms) 2026-01-06 09:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565201119 ms) 2026-01-06 09:14:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:14:40.713185+00:00', 'runtime': '565200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565201120 ms) 2026-01-06 09:14:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:13:40.710753+00:00', 'runtime': '565140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565201121 ms) 2026-01-06 09:15:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565220087 ms) 2026-01-06 09:15:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565220088 ms) 2026-01-06 09:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:14:40.710810+00:00'} (T+565220091 ms) 2026-01-06 09:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565260082 ms) 2026-01-06 09:15:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565260083 ms) 2026-01-06 09:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565260083 ms) 2026-01-06 09:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565260083 ms) 2026-01-06 09:15:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565261116 ms) 2026-01-06 09:15:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565261117 ms) 2026-01-06 09:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:15:40.710714+00:00', 'runtime': '565260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565261120 ms) 2026-01-06 09:15:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:14:40.713185+00:00', 'runtime': '565200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565261121 ms) 2026-01-06 09:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565280090 ms) 2026-01-06 09:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565280091 ms) 2026-01-06 09:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:15:40.710868+00:00'} (T+565280094 ms) 2026-01-06 09:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565320082 ms) 2026-01-06 09:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565320083 ms) 2026-01-06 09:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565320083 ms) 2026-01-06 09:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565320084 ms) 2026-01-06 09:16:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565321116 ms) 2026-01-06 09:16:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565321116 ms) 2026-01-06 09:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:16:40.710712+00:00', 'runtime': '565320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565321117 ms) 2026-01-06 09:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:15:40.710714+00:00', 'runtime': '565260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565321118 ms) 2026-01-06 09:17:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565340087 ms) 2026-01-06 09:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565340088 ms) 2026-01-06 09:17:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:16:40.710869+00:00'} (T+565340090 ms) 2026-01-06 09:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565380083 ms) 2026-01-06 09:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565380083 ms) 2026-01-06 09:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565380084 ms) 2026-01-06 09:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565380084 ms) 2026-01-06 09:17:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565381116 ms) 2026-01-06 09:17:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565381117 ms) 2026-01-06 09:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:17:40.710721+00:00', 'runtime': '565380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565381118 ms) 2026-01-06 09:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:16:40.710712+00:00', 'runtime': '565320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565381118 ms) 2026-01-06 09:18:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565400089 ms) 2026-01-06 09:18:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565400090 ms) 2026-01-06 09:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:17:40.710873+00:00'} (T+565400093 ms) 2026-01-06 09:18:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565440076 ms) 2026-01-06 09:18:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565440077 ms) 2026-01-06 09:18:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565440077 ms) 2026-01-06 09:18:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565440077 ms) 2026-01-06 09:18:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565441112 ms) 2026-01-06 09:18:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565441113 ms) 2026-01-06 09:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:18:40.710717+00:00', 'runtime': '565440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565441115 ms) 2026-01-06 09:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:17:40.710721+00:00', 'runtime': '565380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565441116 ms) 2026-01-06 09:19:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565460086 ms) 2026-01-06 09:19:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565460087 ms) 2026-01-06 09:19:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:18:40.710849+00:00'} (T+565460089 ms) 2026-01-06 09:19:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565500077 ms) 2026-01-06 09:19:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565500077 ms) 2026-01-06 09:19:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565500078 ms) 2026-01-06 09:19:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565500078 ms) 2026-01-06 09:19:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565501114 ms) 2026-01-06 09:19:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565501115 ms) 2026-01-06 09:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:19:40.710710+00:00', 'runtime': '565500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565501117 ms) 2026-01-06 09:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:18:40.710717+00:00', 'runtime': '565440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565501118 ms) 2026-01-06 09:20:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565520085 ms) 2026-01-06 09:20:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565520086 ms) 2026-01-06 09:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:19:40.710832+00:00'} (T+565520089 ms) 2026-01-06 09:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565560082 ms) 2026-01-06 09:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565560083 ms) 2026-01-06 09:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565560083 ms) 2026-01-06 09:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565560084 ms) 2026-01-06 09:20:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565561123 ms) 2026-01-06 09:20:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565561124 ms) 2026-01-06 09:20:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:20:40.710732+00:00', 'runtime': '565560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565561125 ms) 2026-01-06 09:20:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:19:40.710710+00:00', 'runtime': '565500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565561126 ms) 2026-01-06 09:21:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565580091 ms) 2026-01-06 09:21:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565580092 ms) 2026-01-06 09:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:20:40.710851+00:00'} (T+565580094 ms) 2026-01-06 09:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565620083 ms) 2026-01-06 09:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565620083 ms) 2026-01-06 09:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565620083 ms) 2026-01-06 09:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565620084 ms) 2026-01-06 09:21:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565621121 ms) 2026-01-06 09:21:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565621122 ms) 2026-01-06 09:21:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:21:40.710744+00:00', 'runtime': '565620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565621124 ms) 2026-01-06 09:21:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:20:40.710732+00:00', 'runtime': '565560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565621125 ms) 2026-01-06 09:22:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565640093 ms) 2026-01-06 09:22:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565640094 ms) 2026-01-06 09:22:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:21:40.713235+00:00'} (T+565640097 ms) 2026-01-06 09:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565680083 ms) 2026-01-06 09:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565680083 ms) 2026-01-06 09:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565680084 ms) 2026-01-06 09:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565680084 ms) 2026-01-06 09:22:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565681122 ms) 2026-01-06 09:22:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565681123 ms) 2026-01-06 09:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:22:40.710777+00:00', 'runtime': '565680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565681125 ms) 2026-01-06 09:22:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:21:40.710744+00:00', 'runtime': '565620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565681126 ms) 2026-01-06 09:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565700091 ms) 2026-01-06 09:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565700092 ms) 2026-01-06 09:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:22:40.710866+00:00'} (T+565700095 ms) 2026-01-06 09:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565740083 ms) 2026-01-06 09:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565740083 ms) 2026-01-06 09:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565740084 ms) 2026-01-06 09:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565740084 ms) 2026-01-06 09:23:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565741113 ms) 2026-01-06 09:23:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565741114 ms) 2026-01-06 09:23:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:23:40.710717+00:00', 'runtime': '565740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565741116 ms) 2026-01-06 09:23:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:22:40.710777+00:00', 'runtime': '565680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565741116 ms) 2026-01-06 09:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565760090 ms) 2026-01-06 09:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565760092 ms) 2026-01-06 09:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:23:40.710847+00:00'} (T+565760094 ms) 2026-01-06 09:24:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565800082 ms) 2026-01-06 09:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565800083 ms) 2026-01-06 09:24:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565800083 ms) 2026-01-06 09:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565800084 ms) 2026-01-06 09:24:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565801118 ms) 2026-01-06 09:24:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565801119 ms) 2026-01-06 09:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:24:40.710756+00:00', 'runtime': '565800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565801119 ms) 2026-01-06 09:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:23:40.710717+00:00', 'runtime': '565740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565801120 ms) 2026-01-06 09:25:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565820091 ms) 2026-01-06 09:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565820092 ms) 2026-01-06 09:25:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:24:40.710843+00:00'} (T+565820095 ms) 2026-01-06 09:25:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565860077 ms) 2026-01-06 09:25:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565860077 ms) 2026-01-06 09:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565860077 ms) 2026-01-06 09:25:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565860078 ms) 2026-01-06 09:25:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565861112 ms) 2026-01-06 09:25:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565861113 ms) 2026-01-06 09:25:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:25:40.710728+00:00', 'runtime': '565860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565861115 ms) 2026-01-06 09:25:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:24:40.710756+00:00', 'runtime': '565800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565861116 ms) 2026-01-06 09:26:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565880090 ms) 2026-01-06 09:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565880091 ms) 2026-01-06 09:26:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:25:40.713234+00:00'} (T+565880094 ms) 2026-01-06 09:26:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565920076 ms) 2026-01-06 09:26:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565920077 ms) 2026-01-06 09:26:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565920077 ms) 2026-01-06 09:26:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565920077 ms) 2026-01-06 09:26:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565921115 ms) 2026-01-06 09:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565921115 ms) 2026-01-06 09:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:26:40.710728+00:00', 'runtime': '565920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565921117 ms) 2026-01-06 09:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:25:40.710728+00:00', 'runtime': '565860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565921118 ms) 2026-01-06 09:27:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565940088 ms) 2026-01-06 09:27:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+565940089 ms) 2026-01-06 09:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:26:40.710861+00:00'} (T+565940092 ms) 2026-01-06 09:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+565980083 ms) 2026-01-06 09:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+565980083 ms) 2026-01-06 09:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+565980083 ms) 2026-01-06 09:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+565980084 ms) 2026-01-06 09:27:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+565981118 ms) 2026-01-06 09:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+565981118 ms) 2026-01-06 09:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:27:40.710766+00:00', 'runtime': '565980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565981119 ms) 2026-01-06 09:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:26:40.710728+00:00', 'runtime': '565920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+565981120 ms) 2026-01-06 09:28:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566000093 ms) 2026-01-06 09:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566000094 ms) 2026-01-06 09:28:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:27:40.713250+00:00'} (T+566000097 ms) 2026-01-06 09:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566040082 ms) 2026-01-06 09:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566040083 ms) 2026-01-06 09:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566040083 ms) 2026-01-06 09:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566040084 ms) 2026-01-06 09:28:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566041118 ms) 2026-01-06 09:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566041119 ms) 2026-01-06 09:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:28:40.710733+00:00', 'runtime': '566040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566041120 ms) 2026-01-06 09:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:27:40.710766+00:00', 'runtime': '565980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566041120 ms) 2026-01-06 09:29:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566060086 ms) 2026-01-06 09:29:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566060087 ms) 2026-01-06 09:29:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:28:40.710827+00:00'} (T+566060089 ms) 2026-01-06 09:29:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566100085 ms) 2026-01-06 09:29:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566100085 ms) 2026-01-06 09:29:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566100085 ms) 2026-01-06 09:29:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566100086 ms) 2026-01-06 09:29:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566101118 ms) 2026-01-06 09:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566101119 ms) 2026-01-06 09:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:29:40.713156+00:00', 'runtime': '566100.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566101119 ms) 2026-01-06 09:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:28:40.710733+00:00', 'runtime': '566040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566101120 ms) 2026-01-06 09:30:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566120087 ms) 2026-01-06 09:30:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566120088 ms) 2026-01-06 09:30:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:29:40.710816+00:00'} (T+566120090 ms) 2026-01-06 09:30:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566160085 ms) 2026-01-06 09:30:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566160086 ms) 2026-01-06 09:30:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566160086 ms) 2026-01-06 09:30:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566160087 ms) 2026-01-06 09:30:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566161120 ms) 2026-01-06 09:30:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566161121 ms) 2026-01-06 09:30:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:30:40.713159+00:00', 'runtime': '566160.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566161123 ms) 2026-01-06 09:30:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:29:40.713156+00:00', 'runtime': '566100.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566161127 ms) 2026-01-06 09:31:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566180087 ms) 2026-01-06 09:31:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566180088 ms) 2026-01-06 09:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:30:40.710817+00:00'} (T+566180091 ms) 2026-01-06 09:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566220083 ms) 2026-01-06 09:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566220083 ms) 2026-01-06 09:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566220083 ms) 2026-01-06 09:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566220084 ms) 2026-01-06 09:31:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566221113 ms) 2026-01-06 09:31:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566221114 ms) 2026-01-06 09:31:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:31:40.710732+00:00', 'runtime': '566220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566221114 ms) 2026-01-06 09:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:30:40.713159+00:00', 'runtime': '566160.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566221115 ms) 2026-01-06 09:32:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566240087 ms) 2026-01-06 09:32:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566240088 ms) 2026-01-06 09:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:31:40.710833+00:00'} (T+566240091 ms) 2026-01-06 09:32:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566280079 ms) 2026-01-06 09:32:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566280079 ms) 2026-01-06 09:32:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566280079 ms) 2026-01-06 09:32:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566280080 ms) 2026-01-06 09:32:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566281113 ms) 2026-01-06 09:32:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566281113 ms) 2026-01-06 09:32:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:32:40.710737+00:00', 'runtime': '566280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566281115 ms) 2026-01-06 09:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:31:40.710732+00:00', 'runtime': '566220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566281116 ms) 2026-01-06 09:33:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566300087 ms) 2026-01-06 09:33:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566300088 ms) 2026-01-06 09:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:32:40.710826+00:00'} (T+566300091 ms) 2026-01-06 09:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566340083 ms) 2026-01-06 09:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566340083 ms) 2026-01-06 09:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566340084 ms) 2026-01-06 09:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566340084 ms) 2026-01-06 09:33:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566341124 ms) 2026-01-06 09:33:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566341125 ms) 2026-01-06 09:33:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:33:40.710738+00:00', 'runtime': '566340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566341127 ms) 2026-01-06 09:33:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:32:40.710737+00:00', 'runtime': '566280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566341128 ms) 2026-01-06 09:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566360087 ms) 2026-01-06 09:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566360088 ms) 2026-01-06 09:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:33:40.710846+00:00'} (T+566360091 ms) 2026-01-06 09:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566400083 ms) 2026-01-06 09:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566400084 ms) 2026-01-06 09:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566400084 ms) 2026-01-06 09:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566400084 ms) 2026-01-06 09:34:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566401123 ms) 2026-01-06 09:34:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566401124 ms) 2026-01-06 09:34:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:34:40.710750+00:00', 'runtime': '566400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566401126 ms) 2026-01-06 09:34:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:33:40.710738+00:00', 'runtime': '566340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566401127 ms) 2026-01-06 09:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566420090 ms) 2026-01-06 09:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566420091 ms) 2026-01-06 09:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:34:40.710845+00:00'} (T+566420093 ms) 2026-01-06 09:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566460083 ms) 2026-01-06 09:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566460083 ms) 2026-01-06 09:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566460083 ms) 2026-01-06 09:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566460084 ms) 2026-01-06 09:35:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566461119 ms) 2026-01-06 09:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566461119 ms) 2026-01-06 09:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:35:40.710728+00:00', 'runtime': '566460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566461120 ms) 2026-01-06 09:35:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:34:40.710750+00:00', 'runtime': '566400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566461120 ms) 2026-01-06 09:36:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566480090 ms) 2026-01-06 09:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566480092 ms) 2026-01-06 09:36:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:35:40.710805+00:00'} (T+566480095 ms) 2026-01-06 09:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566520082 ms) 2026-01-06 09:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566520083 ms) 2026-01-06 09:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566520083 ms) 2026-01-06 09:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566520084 ms) 2026-01-06 09:36:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566521119 ms) 2026-01-06 09:36:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566521119 ms) 2026-01-06 09:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:36:40.710816+00:00', 'runtime': '566520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566521120 ms) 2026-01-06 09:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:35:40.710728+00:00', 'runtime': '566460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566521121 ms) 2026-01-06 09:37:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566540087 ms) 2026-01-06 09:37:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566540088 ms) 2026-01-06 09:37:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:36:40.710852+00:00'} (T+566540090 ms) 2026-01-06 09:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566580083 ms) 2026-01-06 09:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566580083 ms) 2026-01-06 09:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566580083 ms) 2026-01-06 09:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566580084 ms) 2026-01-06 09:37:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566581118 ms) 2026-01-06 09:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566581118 ms) 2026-01-06 09:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:37:40.710738+00:00', 'runtime': '566580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566581119 ms) 2026-01-06 09:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:36:40.710816+00:00', 'runtime': '566520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566581120 ms) 2026-01-06 09:38:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566600093 ms) 2026-01-06 09:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566600094 ms) 2026-01-06 09:38:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:37:40.713243+00:00'} (T+566600097 ms) 2026-01-06 09:38:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566640085 ms) 2026-01-06 09:38:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566640086 ms) 2026-01-06 09:38:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566640086 ms) 2026-01-06 09:38:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566640086 ms) 2026-01-06 09:38:41.804 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566641125 ms) 2026-01-06 09:38:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566641126 ms) 2026-01-06 09:38:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:38:40.713178+00:00', 'runtime': '566640.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566641128 ms) 2026-01-06 09:38:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:37:40.710738+00:00', 'runtime': '566580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566641129 ms) 2026-01-06 09:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566660090 ms) 2026-01-06 09:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566660091 ms) 2026-01-06 09:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:38:40.710856+00:00'} (T+566660094 ms) 2026-01-06 09:39:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566700077 ms) 2026-01-06 09:39:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566700078 ms) 2026-01-06 09:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566700078 ms) 2026-01-06 09:39:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566700078 ms) 2026-01-06 09:39:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566701115 ms) 2026-01-06 09:39:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566701116 ms) 2026-01-06 09:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:39:40.710753+00:00', 'runtime': '566700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566701118 ms) 2026-01-06 09:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:38:40.713178+00:00', 'runtime': '566640.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566701119 ms) 2026-01-06 09:40:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566720087 ms) 2026-01-06 09:40:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566720088 ms) 2026-01-06 09:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:39:40.710850+00:00'} (T+566720091 ms) 2026-01-06 09:40:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566760077 ms) 2026-01-06 09:40:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566760077 ms) 2026-01-06 09:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566760078 ms) 2026-01-06 09:40:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566760078 ms) 2026-01-06 09:40:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566761115 ms) 2026-01-06 09:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566761116 ms) 2026-01-06 09:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:40:40.710751+00:00', 'runtime': '566760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566761118 ms) 2026-01-06 09:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:39:40.710753+00:00', 'runtime': '566700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566761119 ms) 2026-01-06 09:41:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566780087 ms) 2026-01-06 09:41:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566780088 ms) 2026-01-06 09:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:40:40.710860+00:00'} (T+566780091 ms) 2026-01-06 09:41:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566820083 ms) 2026-01-06 09:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566820083 ms) 2026-01-06 09:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566820084 ms) 2026-01-06 09:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566820084 ms) 2026-01-06 09:41:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566821116 ms) 2026-01-06 09:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566821117 ms) 2026-01-06 09:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:41:40.710739+00:00', 'runtime': '566820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566821118 ms) 2026-01-06 09:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:40:40.710751+00:00', 'runtime': '566760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566821118 ms) 2026-01-06 09:42:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566840087 ms) 2026-01-06 09:42:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566840088 ms) 2026-01-06 09:42:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:41:40.710866+00:00'} (T+566840090 ms) 2026-01-06 09:42:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566880084 ms) 2026-01-06 09:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566880084 ms) 2026-01-06 09:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566880085 ms) 2026-01-06 09:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566880085 ms) 2026-01-06 09:42:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566881114 ms) 2026-01-06 09:42:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566881114 ms) 2026-01-06 09:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:42:40.710707+00:00', 'runtime': '566880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566881115 ms) 2026-01-06 09:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:41:40.710739+00:00', 'runtime': '566820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566881115 ms) 2026-01-06 09:43:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566900088 ms) 2026-01-06 09:43:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566900089 ms) 2026-01-06 09:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:42:40.710836+00:00'} (T+566900092 ms) 2026-01-06 09:43:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+566940085 ms) 2026-01-06 09:43:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+566940085 ms) 2026-01-06 09:43:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+566940086 ms) 2026-01-06 09:43:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+566940086 ms) 2026-01-06 09:43:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+566941118 ms) 2026-01-06 09:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+566941119 ms) 2026-01-06 09:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:43:40.713160+00:00', 'runtime': '566940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566941120 ms) 2026-01-06 09:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:42:40.710707+00:00', 'runtime': '566880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+566941120 ms) 2026-01-06 09:44:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566960087 ms) 2026-01-06 09:44:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+566960088 ms) 2026-01-06 09:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:43:40.710825+00:00'} (T+566960091 ms) 2026-01-06 09:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567000083 ms) 2026-01-06 09:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567000083 ms) 2026-01-06 09:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567000084 ms) 2026-01-06 09:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567000084 ms) 2026-01-06 09:44:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567001117 ms) 2026-01-06 09:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567001118 ms) 2026-01-06 09:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:44:40.710748+00:00', 'runtime': '567000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567001119 ms) 2026-01-06 09:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:43:40.713160+00:00', 'runtime': '566940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567001119 ms) 2026-01-06 09:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567020090 ms) 2026-01-06 09:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567020091 ms) 2026-01-06 09:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:44:40.710861+00:00'} (T+567020094 ms) 2026-01-06 09:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567060083 ms) 2026-01-06 09:45:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567060084 ms) 2026-01-06 09:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567060084 ms) 2026-01-06 09:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567060085 ms) 2026-01-06 09:45:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567061124 ms) 2026-01-06 09:45:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567061125 ms) 2026-01-06 09:45:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:45:40.710796+00:00', 'runtime': '567060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567061127 ms) 2026-01-06 09:45:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:44:40.710748+00:00', 'runtime': '567000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567061128 ms) 2026-01-06 09:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567080090 ms) 2026-01-06 09:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567080092 ms) 2026-01-06 09:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:45:40.710858+00:00'} (T+567080094 ms) 2026-01-06 09:46:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567120081 ms) 2026-01-06 09:46:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567120081 ms) 2026-01-06 09:46:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567120081 ms) 2026-01-06 09:46:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567120082 ms) 2026-01-06 09:46:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567121115 ms) 2026-01-06 09:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567121116 ms) 2026-01-06 09:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:46:40.710712+00:00', 'runtime': '567120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567121118 ms) 2026-01-06 09:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:45:40.710796+00:00', 'runtime': '567060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567121119 ms) 2026-01-06 09:47:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567140092 ms) 2026-01-06 09:47:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567140093 ms) 2026-01-06 09:47:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:46:40.710857+00:00'} (T+567140096 ms) 2026-01-06 09:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567180083 ms) 2026-01-06 09:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567180083 ms) 2026-01-06 09:47:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567180084 ms) 2026-01-06 09:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567180084 ms) 2026-01-06 09:47:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567181121 ms) 2026-01-06 09:47:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567181122 ms) 2026-01-06 09:47:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:47:40.710740+00:00', 'runtime': '567180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567181124 ms) 2026-01-06 09:47:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:46:40.710712+00:00', 'runtime': '567120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567181125 ms) 2026-01-06 09:48:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567200089 ms) 2026-01-06 09:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567200091 ms) 2026-01-06 09:48:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:47:40.710841+00:00'} (T+567200092 ms) 2026-01-06 09:48:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567240083 ms) 2026-01-06 09:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567240083 ms) 2026-01-06 09:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567240083 ms) 2026-01-06 09:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567240084 ms) 2026-01-06 09:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567241119 ms) 2026-01-06 09:48:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567241119 ms) 2026-01-06 09:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:48:40.710748+00:00', 'runtime': '567240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567241120 ms) 2026-01-06 09:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:47:40.710740+00:00', 'runtime': '567180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567241121 ms) 2026-01-06 09:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567260090 ms) 2026-01-06 09:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567260091 ms) 2026-01-06 09:49:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:48:40.710848+00:00'} (T+567260093 ms) 2026-01-06 09:49:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567300082 ms) 2026-01-06 09:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567300083 ms) 2026-01-06 09:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567300083 ms) 2026-01-06 09:49:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567300084 ms) 2026-01-06 09:49:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567301120 ms) 2026-01-06 09:49:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567301120 ms) 2026-01-06 09:49:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:49:40.710760+00:00', 'runtime': '567300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567301122 ms) 2026-01-06 09:49:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:48:40.710748+00:00', 'runtime': '567240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567301122 ms) 2026-01-06 09:50:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567320087 ms) 2026-01-06 09:50:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567320088 ms) 2026-01-06 09:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:49:40.710851+00:00'} (T+567320091 ms) 2026-01-06 09:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567360083 ms) 2026-01-06 09:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567360083 ms) 2026-01-06 09:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567360083 ms) 2026-01-06 09:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567360084 ms) 2026-01-06 09:50:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567361117 ms) 2026-01-06 09:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567361118 ms) 2026-01-06 09:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:50:40.710730+00:00', 'runtime': '567360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567361120 ms) 2026-01-06 09:50:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:49:40.710760+00:00', 'runtime': '567300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567361121 ms) 2026-01-06 09:51:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567380085 ms) 2026-01-06 09:51:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567380086 ms) 2026-01-06 09:51:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:50:40.710863+00:00'} (T+567380089 ms) 2026-01-06 09:51:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567420078 ms) 2026-01-06 09:51:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567420078 ms) 2026-01-06 09:51:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567420079 ms) 2026-01-06 09:51:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567420079 ms) 2026-01-06 09:51:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567421114 ms) 2026-01-06 09:51:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567421115 ms) 2026-01-06 09:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:51:40.713159+00:00', 'runtime': '567420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567421117 ms) 2026-01-06 09:51:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:50:40.710730+00:00', 'runtime': '567360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567421118 ms) 2026-01-06 09:52:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567440088 ms) 2026-01-06 09:52:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567440089 ms) 2026-01-06 09:52:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:51:40.710796+00:00'} (T+567440092 ms) 2026-01-06 09:52:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567480083 ms) 2026-01-06 09:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567480084 ms) 2026-01-06 09:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567480084 ms) 2026-01-06 09:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567480084 ms) 2026-01-06 09:52:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567481119 ms) 2026-01-06 09:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567481119 ms) 2026-01-06 09:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:52:40.710713+00:00', 'runtime': '567480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567481120 ms) 2026-01-06 09:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:51:40.713159+00:00', 'runtime': '567420.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567481121 ms) 2026-01-06 09:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567500087 ms) 2026-01-06 09:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567500088 ms) 2026-01-06 09:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:52:40.710827+00:00'} (T+567500091 ms) 2026-01-06 09:53:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567540084 ms) 2026-01-06 09:53:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567540085 ms) 2026-01-06 09:53:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567540085 ms) 2026-01-06 09:53:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567540086 ms) 2026-01-06 09:53:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567541114 ms) 2026-01-06 09:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567541115 ms) 2026-01-06 09:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:53:40.713161+00:00', 'runtime': '567540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567541116 ms) 2026-01-06 09:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:52:40.710713+00:00', 'runtime': '567480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567541116 ms) 2026-01-06 09:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567560087 ms) 2026-01-06 09:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567560088 ms) 2026-01-06 09:54:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:53:40.710809+00:00'} (T+567560090 ms) 2026-01-06 09:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567600082 ms) 2026-01-06 09:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567600083 ms) 2026-01-06 09:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567600083 ms) 2026-01-06 09:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567600084 ms) 2026-01-06 09:54:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567601122 ms) 2026-01-06 09:54:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567601123 ms) 2026-01-06 09:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:54:40.710791+00:00', 'runtime': '567600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567601126 ms) 2026-01-06 09:54:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:53:40.713161+00:00', 'runtime': '567540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567601127 ms) 2026-01-06 09:55:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567620085 ms) 2026-01-06 09:55:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567620086 ms) 2026-01-06 09:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:54:40.710887+00:00'} (T+567620089 ms) 2026-01-06 09:55:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567660077 ms) 2026-01-06 09:55:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567660078 ms) 2026-01-06 09:55:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567660078 ms) 2026-01-06 09:55:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567660079 ms) 2026-01-06 09:55:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567661115 ms) 2026-01-06 09:55:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567661116 ms) 2026-01-06 09:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:55:40.710713+00:00', 'runtime': '567660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567661118 ms) 2026-01-06 09:55:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:54:40.710791+00:00', 'runtime': '567600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567661122 ms) 2026-01-06 09:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567680087 ms) 2026-01-06 09:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567680088 ms) 2026-01-06 09:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:55:40.710845+00:00'} (T+567680091 ms) 2026-01-06 09:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567720083 ms) 2026-01-06 09:56:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567720084 ms) 2026-01-06 09:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567720084 ms) 2026-01-06 09:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567720085 ms) 2026-01-06 09:56:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567721114 ms) 2026-01-06 09:56:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567721114 ms) 2026-01-06 09:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:56:40.710684+00:00', 'runtime': '567720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567721115 ms) 2026-01-06 09:56:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:55:40.710713+00:00', 'runtime': '567660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567721116 ms) 2026-01-06 09:57:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567740085 ms) 2026-01-06 09:57:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567740086 ms) 2026-01-06 09:57:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:56:40.710835+00:00'} (T+567740089 ms) 2026-01-06 09:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567780083 ms) 2026-01-06 09:57:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567780084 ms) 2026-01-06 09:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567780084 ms) 2026-01-06 09:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567780085 ms) 2026-01-06 09:57:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567781122 ms) 2026-01-06 09:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567781123 ms) 2026-01-06 09:57:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:57:40.710779+00:00', 'runtime': '567780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567781124 ms) 2026-01-06 09:57:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:56:40.710684+00:00', 'runtime': '567720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567781125 ms) 2026-01-06 09:58:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567800090 ms) 2026-01-06 09:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567800091 ms) 2026-01-06 09:58:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:57:40.710839+00:00'} (T+567800094 ms) 2026-01-06 09:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567840083 ms) 2026-01-06 09:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567840083 ms) 2026-01-06 09:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567840084 ms) 2026-01-06 09:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567840084 ms) 2026-01-06 09:58:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567841116 ms) 2026-01-06 09:58:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567841116 ms) 2026-01-06 09:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:58:40.710702+00:00', 'runtime': '567840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567841117 ms) 2026-01-06 09:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:57:40.710779+00:00', 'runtime': '567780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567841118 ms) 2026-01-06 09:59:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567860093 ms) 2026-01-06 09:59:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567860094 ms) 2026-01-06 09:59:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:58:40.713229+00:00'} (T+567860097 ms) 2026-01-06 09:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567900083 ms) 2026-01-06 09:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567900083 ms) 2026-01-06 09:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567900084 ms) 2026-01-06 09:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567900084 ms) 2026-01-06 09:59:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567901119 ms) 2026-01-06 09:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567901119 ms) 2026-01-06 09:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 09:59:40.710767+00:00', 'runtime': '567900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567901120 ms) 2026-01-06 09:59:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:58:40.710702+00:00', 'runtime': '567840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567901121 ms) 2026-01-06 10:00:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567920092 ms) 2026-01-06 10:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567920093 ms) 2026-01-06 10:00:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 09:59:40.713237+00:00'} (T+567920096 ms) 2026-01-06 10:00:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+567960083 ms) 2026-01-06 10:00:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+567960084 ms) 2026-01-06 10:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+567960084 ms) 2026-01-06 10:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+567960085 ms) 2026-01-06 10:00:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+567961114 ms) 2026-01-06 10:00:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+567961115 ms) 2026-01-06 10:00:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:00:40.710723+00:00', 'runtime': '567960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567961116 ms) 2026-01-06 10:00:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 09:59:40.710767+00:00', 'runtime': '567900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+567961116 ms) 2026-01-06 10:01:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567980093 ms) 2026-01-06 10:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+567980094 ms) 2026-01-06 10:01:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:00:40.713230+00:00'} (T+567980097 ms) 2026-01-06 10:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568020082 ms) 2026-01-06 10:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568020083 ms) 2026-01-06 10:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568020083 ms) 2026-01-06 10:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568020083 ms) 2026-01-06 10:01:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568021123 ms) 2026-01-06 10:01:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568021123 ms) 2026-01-06 10:01:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:01:40.710708+00:00', 'runtime': '568020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568021124 ms) 2026-01-06 10:01:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:00:40.710723+00:00', 'runtime': '567960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568021124 ms) 2026-01-06 10:02:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568040091 ms) 2026-01-06 10:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568040092 ms) 2026-01-06 10:02:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:01:40.713228+00:00'} (T+568040095 ms) 2026-01-06 10:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568080083 ms) 2026-01-06 10:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568080083 ms) 2026-01-06 10:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568080083 ms) 2026-01-06 10:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568080084 ms) 2026-01-06 10:02:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568081113 ms) 2026-01-06 10:02:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568081114 ms) 2026-01-06 10:02:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:02:40.710724+00:00', 'runtime': '568080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568081115 ms) 2026-01-06 10:02:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:01:40.710708+00:00', 'runtime': '568020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568081115 ms) 2026-01-06 10:03:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568100090 ms) 2026-01-06 10:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568100091 ms) 2026-01-06 10:03:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:02:40.710858+00:00'} (T+568100093 ms) 2026-01-06 10:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568140083 ms) 2026-01-06 10:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568140083 ms) 2026-01-06 10:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568140084 ms) 2026-01-06 10:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568140084 ms) 2026-01-06 10:03:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568141123 ms) 2026-01-06 10:03:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568141124 ms) 2026-01-06 10:03:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:03:40.710770+00:00', 'runtime': '568140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568141127 ms) 2026-01-06 10:03:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:02:40.710724+00:00', 'runtime': '568080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568141128 ms) 2026-01-06 10:04:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568160087 ms) 2026-01-06 10:04:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568160088 ms) 2026-01-06 10:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:03:40.710859+00:00'} (T+568160091 ms) 2026-01-06 10:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568200083 ms) 2026-01-06 10:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568200083 ms) 2026-01-06 10:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568200084 ms) 2026-01-06 10:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568200084 ms) 2026-01-06 10:04:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568201117 ms) 2026-01-06 10:04:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568201117 ms) 2026-01-06 10:04:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:04:40.710791+00:00', 'runtime': '568200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568201118 ms) 2026-01-06 10:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:03:40.710770+00:00', 'runtime': '568140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568201119 ms) 2026-01-06 10:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568220090 ms) 2026-01-06 10:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568220091 ms) 2026-01-06 10:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:04:40.710872+00:00'} (T+568220094 ms) 2026-01-06 10:05:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568260078 ms) 2026-01-06 10:05:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568260079 ms) 2026-01-06 10:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568260079 ms) 2026-01-06 10:05:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568260079 ms) 2026-01-06 10:05:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568261112 ms) 2026-01-06 10:05:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568261113 ms) 2026-01-06 10:05:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:05:40.710716+00:00', 'runtime': '568260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568261115 ms) 2026-01-06 10:05:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:04:40.710791+00:00', 'runtime': '568200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568261116 ms) 2026-01-06 10:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568280090 ms) 2026-01-06 10:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568280091 ms) 2026-01-06 10:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:05:40.710859+00:00'} (T+568280094 ms) 2026-01-06 10:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568320083 ms) 2026-01-06 10:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568320083 ms) 2026-01-06 10:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568320084 ms) 2026-01-06 10:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568320084 ms) 2026-01-06 10:06:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568321112 ms) 2026-01-06 10:06:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568321113 ms) 2026-01-06 10:06:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:06:40.710706+00:00', 'runtime': '568320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568321114 ms) 2026-01-06 10:06:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:05:40.710716+00:00', 'runtime': '568260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568321114 ms) 2026-01-06 10:07:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568340091 ms) 2026-01-06 10:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568340092 ms) 2026-01-06 10:07:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:06:40.710835+00:00'} (T+568340095 ms) 2026-01-06 10:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568380083 ms) 2026-01-06 10:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568380083 ms) 2026-01-06 10:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568380084 ms) 2026-01-06 10:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568380084 ms) 2026-01-06 10:07:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568381116 ms) 2026-01-06 10:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568381117 ms) 2026-01-06 10:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:07:40.710728+00:00', 'runtime': '568380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568381118 ms) 2026-01-06 10:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:06:40.710706+00:00', 'runtime': '568320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568381118 ms) 2026-01-06 10:08:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568400091 ms) 2026-01-06 10:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568400092 ms) 2026-01-06 10:08:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:07:40.710853+00:00'} (T+568400095 ms) 2026-01-06 10:08:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568440078 ms) 2026-01-06 10:08:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568440078 ms) 2026-01-06 10:08:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568440079 ms) 2026-01-06 10:08:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568440079 ms) 2026-01-06 10:08:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568441115 ms) 2026-01-06 10:08:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568441116 ms) 2026-01-06 10:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:08:40.710739+00:00', 'runtime': '568440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568441118 ms) 2026-01-06 10:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:07:40.710728+00:00', 'runtime': '568380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568441119 ms) 2026-01-06 10:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568460087 ms) 2026-01-06 10:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568460089 ms) 2026-01-06 10:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:08:40.710849+00:00'} (T+568460091 ms) 2026-01-06 10:09:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568500054 ms) 2026-01-06 10:09:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568500054 ms) 2026-01-06 10:09:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568500054 ms) 2026-01-06 10:09:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568500054 ms) 2026-01-06 10:09:41.767 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568501088 ms) 2026-01-06 10:09:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568501089 ms) 2026-01-06 10:09:41.770 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:09:40.710521+00:00', 'runtime': '568500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568501091 ms) 2026-01-06 10:09:41.770 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:08:40.710739+00:00', 'runtime': '568440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568501092 ms) 2026-01-06 10:10:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568520071 ms) 2026-01-06 10:10:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568520072 ms) 2026-01-06 10:10:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:09:40.712973+00:00'} (T+568520075 ms) 2026-01-06 10:10:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568560085 ms) 2026-01-06 10:10:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568560085 ms) 2026-01-06 10:10:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568560086 ms) 2026-01-06 10:10:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568560086 ms) 2026-01-06 10:10:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568561123 ms) 2026-01-06 10:10:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568561124 ms) 2026-01-06 10:10:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:10:40.713146+00:00', 'runtime': '568560.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568561125 ms) 2026-01-06 10:10:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:09:40.710521+00:00', 'runtime': '568500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568561125 ms) 2026-01-06 10:11:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568580091 ms) 2026-01-06 10:11:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568580092 ms) 2026-01-06 10:11:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:10:40.710850+00:00'} (T+568580095 ms) 2026-01-06 10:11:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568620078 ms) 2026-01-06 10:11:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568620078 ms) 2026-01-06 10:11:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568620079 ms) 2026-01-06 10:11:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568620079 ms) 2026-01-06 10:11:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568621116 ms) 2026-01-06 10:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568621117 ms) 2026-01-06 10:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:11:40.710714+00:00', 'runtime': '568620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568621119 ms) 2026-01-06 10:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:10:40.713146+00:00', 'runtime': '568560.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568621120 ms) 2026-01-06 10:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568640090 ms) 2026-01-06 10:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568640091 ms) 2026-01-06 10:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:11:40.713230+00:00'} (T+568640094 ms) 2026-01-06 10:12:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568680083 ms) 2026-01-06 10:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568680083 ms) 2026-01-06 10:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568680084 ms) 2026-01-06 10:12:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568680084 ms) 2026-01-06 10:12:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568681119 ms) 2026-01-06 10:12:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568681119 ms) 2026-01-06 10:12:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:12:40.710723+00:00', 'runtime': '568680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568681120 ms) 2026-01-06 10:12:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:11:40.710714+00:00', 'runtime': '568620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568681120 ms) 2026-01-06 10:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568700090 ms) 2026-01-06 10:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568700091 ms) 2026-01-06 10:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:12:40.710857+00:00'} (T+568700094 ms) 2026-01-06 10:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568740082 ms) 2026-01-06 10:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568740083 ms) 2026-01-06 10:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568740083 ms) 2026-01-06 10:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568740084 ms) 2026-01-06 10:13:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568741114 ms) 2026-01-06 10:13:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568741114 ms) 2026-01-06 10:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:13:40.710761+00:00', 'runtime': '568740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568741115 ms) 2026-01-06 10:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:12:40.710723+00:00', 'runtime': '568680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568741116 ms) 2026-01-06 10:14:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568760090 ms) 2026-01-06 10:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568760091 ms) 2026-01-06 10:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:13:40.710843+00:00'} (T+568760094 ms) 2026-01-06 10:14:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568800054 ms) 2026-01-06 10:14:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568800054 ms) 2026-01-06 10:14:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568800054 ms) 2026-01-06 10:14:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568800054 ms) 2026-01-06 10:14:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568801080 ms) 2026-01-06 10:14:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568801080 ms) 2026-01-06 10:14:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:14:40.710542+00:00', 'runtime': '568800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568801082 ms) 2026-01-06 10:14:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:13:40.710761+00:00', 'runtime': '568740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568801083 ms) 2026-01-06 10:15:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568820071 ms) 2026-01-06 10:15:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568820072 ms) 2026-01-06 10:15:00.753 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:14:40.710605+00:00'} (T+568820074 ms) 2026-01-06 10:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568860083 ms) 2026-01-06 10:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568860083 ms) 2026-01-06 10:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568860084 ms) 2026-01-06 10:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568860084 ms) 2026-01-06 10:15:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568861119 ms) 2026-01-06 10:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568861120 ms) 2026-01-06 10:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:15:40.710784+00:00', 'runtime': '568860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568861121 ms) 2026-01-06 10:15:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:14:40.710542+00:00', 'runtime': '568800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568861121 ms) 2026-01-06 10:16:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568880093 ms) 2026-01-06 10:16:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568880094 ms) 2026-01-06 10:16:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:15:40.713240+00:00'} (T+568880096 ms) 2026-01-06 10:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568920082 ms) 2026-01-06 10:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568920083 ms) 2026-01-06 10:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568920083 ms) 2026-01-06 10:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568920084 ms) 2026-01-06 10:16:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568921119 ms) 2026-01-06 10:16:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568921119 ms) 2026-01-06 10:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:16:40.710730+00:00', 'runtime': '568920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568921120 ms) 2026-01-06 10:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:15:40.710784+00:00', 'runtime': '568860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568921121 ms) 2026-01-06 10:17:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568940091 ms) 2026-01-06 10:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+568940092 ms) 2026-01-06 10:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:16:40.710856+00:00'} (T+568940094 ms) 2026-01-06 10:17:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+568980083 ms) 2026-01-06 10:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+568980084 ms) 2026-01-06 10:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+568980084 ms) 2026-01-06 10:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+568980084 ms) 2026-01-06 10:17:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+568981124 ms) 2026-01-06 10:17:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+568981125 ms) 2026-01-06 10:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:17:40.710758+00:00', 'runtime': '568980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568981127 ms) 2026-01-06 10:17:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:16:40.710730+00:00', 'runtime': '568920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+568981128 ms) 2026-01-06 10:18:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569000089 ms) 2026-01-06 10:18:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569000090 ms) 2026-01-06 10:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:17:40.710858+00:00'} (T+569000093 ms) 2026-01-06 10:18:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569040076 ms) 2026-01-06 10:18:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569040076 ms) 2026-01-06 10:18:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569040077 ms) 2026-01-06 10:18:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569040077 ms) 2026-01-06 10:18:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569041112 ms) 2026-01-06 10:18:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569041113 ms) 2026-01-06 10:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:18:40.710717+00:00', 'runtime': '569040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569041115 ms) 2026-01-06 10:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:17:40.710758+00:00', 'runtime': '568980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569041116 ms) 2026-01-06 10:19:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569060087 ms) 2026-01-06 10:19:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569060088 ms) 2026-01-06 10:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:18:40.710865+00:00'} (T+569060091 ms) 2026-01-06 10:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569100083 ms) 2026-01-06 10:19:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569100084 ms) 2026-01-06 10:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569100084 ms) 2026-01-06 10:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569100085 ms) 2026-01-06 10:19:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569101117 ms) 2026-01-06 10:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569101117 ms) 2026-01-06 10:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:19:40.710714+00:00', 'runtime': '569100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569101118 ms) 2026-01-06 10:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:18:40.710717+00:00', 'runtime': '569040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569101119 ms) 2026-01-06 10:20:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569120090 ms) 2026-01-06 10:20:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569120091 ms) 2026-01-06 10:20:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:19:40.710848+00:00'} (T+569120093 ms) 2026-01-06 10:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569160082 ms) 2026-01-06 10:20:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569160082 ms) 2026-01-06 10:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569160083 ms) 2026-01-06 10:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569160083 ms) 2026-01-06 10:20:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569161124 ms) 2026-01-06 10:20:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569161125 ms) 2026-01-06 10:20:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:20:40.710753+00:00', 'runtime': '569160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569161127 ms) 2026-01-06 10:20:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:19:40.710714+00:00', 'runtime': '569100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569161127 ms) 2026-01-06 10:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569180090 ms) 2026-01-06 10:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569180091 ms) 2026-01-06 10:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:20:40.710844+00:00'} (T+569180093 ms) 2026-01-06 10:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569220082 ms) 2026-01-06 10:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569220083 ms) 2026-01-06 10:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569220083 ms) 2026-01-06 10:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569220084 ms) 2026-01-06 10:21:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569221122 ms) 2026-01-06 10:21:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569221122 ms) 2026-01-06 10:21:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:21:40.710730+00:00', 'runtime': '569220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569221123 ms) 2026-01-06 10:21:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:20:40.710753+00:00', 'runtime': '569160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569221123 ms) 2026-01-06 10:22:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569240090 ms) 2026-01-06 10:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569240091 ms) 2026-01-06 10:22:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:21:40.710861+00:00'} (T+569240094 ms) 2026-01-06 10:22:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569280076 ms) 2026-01-06 10:22:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569280077 ms) 2026-01-06 10:22:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569280077 ms) 2026-01-06 10:22:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569280077 ms) 2026-01-06 10:22:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569281115 ms) 2026-01-06 10:22:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569281116 ms) 2026-01-06 10:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:22:40.710747+00:00', 'runtime': '569280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569281119 ms) 2026-01-06 10:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:21:40.710730+00:00', 'runtime': '569220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569281120 ms) 2026-01-06 10:23:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569300085 ms) 2026-01-06 10:23:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569300086 ms) 2026-01-06 10:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:22:40.710854+00:00'} (T+569300089 ms) 2026-01-06 10:23:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569340077 ms) 2026-01-06 10:23:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569340077 ms) 2026-01-06 10:23:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569340078 ms) 2026-01-06 10:23:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569340078 ms) 2026-01-06 10:23:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569341115 ms) 2026-01-06 10:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569341115 ms) 2026-01-06 10:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:23:40.710715+00:00', 'runtime': '569340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569341117 ms) 2026-01-06 10:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:22:40.710747+00:00', 'runtime': '569280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569341118 ms) 2026-01-06 10:24:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569360089 ms) 2026-01-06 10:24:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569360090 ms) 2026-01-06 10:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:23:40.713232+00:00'} (T+569360092 ms) 2026-01-06 10:24:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569400054 ms) 2026-01-06 10:24:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569400054 ms) 2026-01-06 10:24:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569400054 ms) 2026-01-06 10:24:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569400054 ms) 2026-01-06 10:24:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569401080 ms) 2026-01-06 10:24:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569401080 ms) 2026-01-06 10:24:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:24:40.710514+00:00', 'runtime': '569400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569401081 ms) 2026-01-06 10:24:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:23:40.710715+00:00', 'runtime': '569340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569401082 ms) 2026-01-06 10:25:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569420068 ms) 2026-01-06 10:25:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569420069 ms) 2026-01-06 10:25:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:24:40.710590+00:00'} (T+569420072 ms) 2026-01-06 10:25:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569460076 ms) 2026-01-06 10:25:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569460076 ms) 2026-01-06 10:25:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569460076 ms) 2026-01-06 10:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569460077 ms) 2026-01-06 10:25:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569461115 ms) 2026-01-06 10:25:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569461116 ms) 2026-01-06 10:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:25:40.710820+00:00', 'runtime': '569460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569461118 ms) 2026-01-06 10:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:24:40.710514+00:00', 'runtime': '569400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569461118 ms) 2026-01-06 10:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569480087 ms) 2026-01-06 10:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569480088 ms) 2026-01-06 10:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:25:40.710859+00:00'} (T+569480091 ms) 2026-01-06 10:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569520083 ms) 2026-01-06 10:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569520084 ms) 2026-01-06 10:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569520084 ms) 2026-01-06 10:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569520085 ms) 2026-01-06 10:26:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569521117 ms) 2026-01-06 10:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569521117 ms) 2026-01-06 10:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:26:40.710735+00:00', 'runtime': '569520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569521118 ms) 2026-01-06 10:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:25:40.710820+00:00', 'runtime': '569460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569521118 ms) 2026-01-06 10:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569540090 ms) 2026-01-06 10:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569540091 ms) 2026-01-06 10:27:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:26:40.710857+00:00'} (T+569540096 ms) 2026-01-06 10:27:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569580085 ms) 2026-01-06 10:27:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569580085 ms) 2026-01-06 10:27:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569580085 ms) 2026-01-06 10:27:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569580086 ms) 2026-01-06 10:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569581119 ms) 2026-01-06 10:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569581120 ms) 2026-01-06 10:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:27:40.713180+00:00', 'runtime': '569580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569581121 ms) 2026-01-06 10:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:26:40.710735+00:00', 'runtime': '569520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569581121 ms) 2026-01-06 10:28:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569600088 ms) 2026-01-06 10:28:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569600089 ms) 2026-01-06 10:28:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:27:40.710830+00:00'} (T+569600092 ms) 2026-01-06 10:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569640083 ms) 2026-01-06 10:28:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569640084 ms) 2026-01-06 10:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569640084 ms) 2026-01-06 10:28:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569640085 ms) 2026-01-06 10:28:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569641117 ms) 2026-01-06 10:28:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569641118 ms) 2026-01-06 10:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:28:40.710789+00:00', 'runtime': '569640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569641119 ms) 2026-01-06 10:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:27:40.713180+00:00', 'runtime': '569580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569641119 ms) 2026-01-06 10:29:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569660088 ms) 2026-01-06 10:29:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569660089 ms) 2026-01-06 10:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:28:40.710867+00:00'} (T+569660092 ms) 2026-01-06 10:29:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569700078 ms) 2026-01-06 10:29:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569700079 ms) 2026-01-06 10:29:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569700079 ms) 2026-01-06 10:29:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569700079 ms) 2026-01-06 10:29:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569701115 ms) 2026-01-06 10:29:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569701116 ms) 2026-01-06 10:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:29:40.710767+00:00', 'runtime': '569700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569701118 ms) 2026-01-06 10:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:28:40.710789+00:00', 'runtime': '569640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569701119 ms) 2026-01-06 10:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569720089 ms) 2026-01-06 10:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569720090 ms) 2026-01-06 10:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:29:40.710871+00:00'} (T+569720093 ms) 2026-01-06 10:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569760083 ms) 2026-01-06 10:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569760083 ms) 2026-01-06 10:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569760084 ms) 2026-01-06 10:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569760084 ms) 2026-01-06 10:30:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569761116 ms) 2026-01-06 10:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569761117 ms) 2026-01-06 10:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:30:40.710750+00:00', 'runtime': '569760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569761118 ms) 2026-01-06 10:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:29:40.710767+00:00', 'runtime': '569700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569761118 ms) 2026-01-06 10:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569780090 ms) 2026-01-06 10:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569780091 ms) 2026-01-06 10:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:30:40.710837+00:00'} (T+569780094 ms) 2026-01-06 10:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569820083 ms) 2026-01-06 10:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569820083 ms) 2026-01-06 10:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569820084 ms) 2026-01-06 10:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569820084 ms) 2026-01-06 10:31:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569821124 ms) 2026-01-06 10:31:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569821125 ms) 2026-01-06 10:31:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:31:40.710747+00:00', 'runtime': '569820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569821127 ms) 2026-01-06 10:31:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:30:40.710750+00:00', 'runtime': '569760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569821128 ms) 2026-01-06 10:32:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569840094 ms) 2026-01-06 10:32:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569840095 ms) 2026-01-06 10:32:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:31:40.713234+00:00'} (T+569840098 ms) 2026-01-06 10:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569880083 ms) 2026-01-06 10:32:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569880084 ms) 2026-01-06 10:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569880084 ms) 2026-01-06 10:32:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569880085 ms) 2026-01-06 10:32:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569881123 ms) 2026-01-06 10:32:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569881124 ms) 2026-01-06 10:32:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:32:40.710753+00:00', 'runtime': '569880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569881126 ms) 2026-01-06 10:32:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:31:40.710747+00:00', 'runtime': '569820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569881127 ms) 2026-01-06 10:33:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569900085 ms) 2026-01-06 10:33:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569900086 ms) 2026-01-06 10:33:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:32:40.710847+00:00'} (T+569900089 ms) 2026-01-06 10:33:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+569940083 ms) 2026-01-06 10:33:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+569940084 ms) 2026-01-06 10:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+569940084 ms) 2026-01-06 10:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+569940085 ms) 2026-01-06 10:33:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+569941117 ms) 2026-01-06 10:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+569941118 ms) 2026-01-06 10:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:33:40.710723+00:00', 'runtime': '569940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569941119 ms) 2026-01-06 10:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:32:40.710753+00:00', 'runtime': '569880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+569941119 ms) 2026-01-06 10:34:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569960091 ms) 2026-01-06 10:34:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+569960092 ms) 2026-01-06 10:34:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:33:40.710849+00:00'} (T+569960095 ms) 2026-01-06 10:34:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570000054 ms) 2026-01-06 10:34:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570000054 ms) 2026-01-06 10:34:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570000054 ms) 2026-01-06 10:34:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570000054 ms) 2026-01-06 10:34:41.764 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570001085 ms) 2026-01-06 10:34:41.764 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570001086 ms) 2026-01-06 10:34:41.766 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:34:40.710526+00:00', 'runtime': '570000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570001087 ms) 2026-01-06 10:34:41.767 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:33:40.710723+00:00', 'runtime': '569940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570001088 ms) 2026-01-06 10:35:00.753 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570020074 ms) 2026-01-06 10:35:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570020075 ms) 2026-01-06 10:35:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:34:40.712960+00:00'} (T+570020078 ms) 2026-01-06 10:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570060083 ms) 2026-01-06 10:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570060083 ms) 2026-01-06 10:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570060083 ms) 2026-01-06 10:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570060084 ms) 2026-01-06 10:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570061116 ms) 2026-01-06 10:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570061117 ms) 2026-01-06 10:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:35:40.710813+00:00', 'runtime': '570060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570061118 ms) 2026-01-06 10:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:34:40.710526+00:00', 'runtime': '570000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570061119 ms) 2026-01-06 10:36:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570080090 ms) 2026-01-06 10:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570080091 ms) 2026-01-06 10:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:35:40.710890+00:00'} (T+570080093 ms) 2026-01-06 10:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570120082 ms) 2026-01-06 10:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570120083 ms) 2026-01-06 10:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570120083 ms) 2026-01-06 10:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570120084 ms) 2026-01-06 10:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570121116 ms) 2026-01-06 10:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570121117 ms) 2026-01-06 10:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:36:40.710745+00:00', 'runtime': '570120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570121118 ms) 2026-01-06 10:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:35:40.710813+00:00', 'runtime': '570060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570121118 ms) 2026-01-06 10:37:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570140093 ms) 2026-01-06 10:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570140095 ms) 2026-01-06 10:37:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:36:40.713225+00:00'} (T+570140097 ms) 2026-01-06 10:37:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570180077 ms) 2026-01-06 10:37:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570180078 ms) 2026-01-06 10:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570180078 ms) 2026-01-06 10:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570180078 ms) 2026-01-06 10:37:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570181115 ms) 2026-01-06 10:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570181116 ms) 2026-01-06 10:37:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:37:40.710729+00:00', 'runtime': '570180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570181119 ms) 2026-01-06 10:37:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:36:40.710745+00:00', 'runtime': '570120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570181120 ms) 2026-01-06 10:38:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570200089 ms) 2026-01-06 10:38:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570200090 ms) 2026-01-06 10:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:37:40.713235+00:00'} (T+570200093 ms) 2026-01-06 10:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570240083 ms) 2026-01-06 10:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570240084 ms) 2026-01-06 10:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570240084 ms) 2026-01-06 10:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570240084 ms) 2026-01-06 10:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570241117 ms) 2026-01-06 10:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570241118 ms) 2026-01-06 10:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:38:40.710717+00:00', 'runtime': '570240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570241119 ms) 2026-01-06 10:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:37:40.710729+00:00', 'runtime': '570180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570241119 ms) 2026-01-06 10:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570260090 ms) 2026-01-06 10:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570260091 ms) 2026-01-06 10:39:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:38:40.710850+00:00'} (T+570260093 ms) 2026-01-06 10:39:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570300054 ms) 2026-01-06 10:39:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570300054 ms) 2026-01-06 10:39:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570300054 ms) 2026-01-06 10:39:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570300054 ms) 2026-01-06 10:39:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570301081 ms) 2026-01-06 10:39:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570301081 ms) 2026-01-06 10:39:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:39:40.710531+00:00', 'runtime': '570300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570301082 ms) 2026-01-06 10:39:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:38:40.710717+00:00', 'runtime': '570240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570301083 ms) 2026-01-06 10:40:00.748 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570320069 ms) 2026-01-06 10:40:00.749 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570320070 ms) 2026-01-06 10:40:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:39:40.710611+00:00'} (T+570320073 ms) 2026-01-06 10:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570360083 ms) 2026-01-06 10:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570360083 ms) 2026-01-06 10:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570360084 ms) 2026-01-06 10:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570360084 ms) 2026-01-06 10:40:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570361120 ms) 2026-01-06 10:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570361120 ms) 2026-01-06 10:40:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:40:40.710798+00:00', 'runtime': '570360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570361121 ms) 2026-01-06 10:40:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:39:40.710531+00:00', 'runtime': '570300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570361122 ms) 2026-01-06 10:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570380088 ms) 2026-01-06 10:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570380089 ms) 2026-01-06 10:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:40:40.710855+00:00'} (T+570380092 ms) 2026-01-06 10:41:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570420077 ms) 2026-01-06 10:41:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570420077 ms) 2026-01-06 10:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570420077 ms) 2026-01-06 10:41:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570420078 ms) 2026-01-06 10:41:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570421113 ms) 2026-01-06 10:41:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570421114 ms) 2026-01-06 10:41:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:41:40.710722+00:00', 'runtime': '570420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570421116 ms) 2026-01-06 10:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:40:40.710798+00:00', 'runtime': '570360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570421117 ms) 2026-01-06 10:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570440088 ms) 2026-01-06 10:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570440089 ms) 2026-01-06 10:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:41:40.710819+00:00'} (T+570440092 ms) 2026-01-06 10:42:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570480083 ms) 2026-01-06 10:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570480083 ms) 2026-01-06 10:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570480084 ms) 2026-01-06 10:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570480084 ms) 2026-01-06 10:42:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570481118 ms) 2026-01-06 10:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570481119 ms) 2026-01-06 10:42:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:42:40.710718+00:00', 'runtime': '570480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570481123 ms) 2026-01-06 10:42:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:41:40.710722+00:00', 'runtime': '570420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570481123 ms) 2026-01-06 10:43:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570500092 ms) 2026-01-06 10:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570500093 ms) 2026-01-06 10:43:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:42:40.713237+00:00'} (T+570500096 ms) 2026-01-06 10:43:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570540076 ms) 2026-01-06 10:43:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570540077 ms) 2026-01-06 10:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570540077 ms) 2026-01-06 10:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570540077 ms) 2026-01-06 10:43:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570541113 ms) 2026-01-06 10:43:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570541114 ms) 2026-01-06 10:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:43:40.710685+00:00', 'runtime': '570540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570541116 ms) 2026-01-06 10:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:42:40.710718+00:00', 'runtime': '570480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570541117 ms) 2026-01-06 10:44:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570560084 ms) 2026-01-06 10:44:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570560085 ms) 2026-01-06 10:44:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:43:40.710844+00:00'} (T+570560088 ms) 2026-01-06 10:44:40.734 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570600056 ms) 2026-01-06 10:44:40.735 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570600056 ms) 2026-01-06 10:44:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570600056 ms) 2026-01-06 10:44:40.735 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570600056 ms) 2026-01-06 10:44:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570601082 ms) 2026-01-06 10:44:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570601082 ms) 2026-01-06 10:44:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:44:40.713063+00:00', 'runtime': '570600.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570601083 ms) 2026-01-06 10:44:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:43:40.710685+00:00', 'runtime': '570540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570601084 ms) 2026-01-06 10:45:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570620072 ms) 2026-01-06 10:45:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570620073 ms) 2026-01-06 10:45:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:44:40.710547+00:00'} (T+570620076 ms) 2026-01-06 10:45:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570660076 ms) 2026-01-06 10:45:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570660077 ms) 2026-01-06 10:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570660077 ms) 2026-01-06 10:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570660077 ms) 2026-01-06 10:45:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570661113 ms) 2026-01-06 10:45:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570661113 ms) 2026-01-06 10:45:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:45:40.710750+00:00', 'runtime': '570660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570661115 ms) 2026-01-06 10:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:44:40.713063+00:00', 'runtime': '570600.003', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570661116 ms) 2026-01-06 10:46:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570680088 ms) 2026-01-06 10:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570680089 ms) 2026-01-06 10:46:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:45:40.710864+00:00'} (T+570680092 ms) 2026-01-06 10:46:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570720081 ms) 2026-01-06 10:46:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570720081 ms) 2026-01-06 10:46:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570720081 ms) 2026-01-06 10:46:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570720081 ms) 2026-01-06 10:46:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570721114 ms) 2026-01-06 10:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570721115 ms) 2026-01-06 10:46:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:46:40.710724+00:00', 'runtime': '570720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570721117 ms) 2026-01-06 10:46:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:45:40.710750+00:00', 'runtime': '570660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570721118 ms) 2026-01-06 10:47:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570740092 ms) 2026-01-06 10:47:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570740094 ms) 2026-01-06 10:47:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:46:40.713236+00:00'} (T+570740096 ms) 2026-01-06 10:47:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570780081 ms) 2026-01-06 10:47:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570780081 ms) 2026-01-06 10:47:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570780081 ms) 2026-01-06 10:47:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570780081 ms) 2026-01-06 10:47:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570781116 ms) 2026-01-06 10:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570781117 ms) 2026-01-06 10:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:47:40.710706+00:00', 'runtime': '570780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570781118 ms) 2026-01-06 10:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:46:40.710724+00:00', 'runtime': '570720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570781119 ms) 2026-01-06 10:48:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570800088 ms) 2026-01-06 10:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570800089 ms) 2026-01-06 10:48:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:47:40.710849+00:00'} (T+570800094 ms) 2026-01-06 10:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570840083 ms) 2026-01-06 10:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570840083 ms) 2026-01-06 10:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570840084 ms) 2026-01-06 10:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570840084 ms) 2026-01-06 10:48:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570841121 ms) 2026-01-06 10:48:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570841123 ms) 2026-01-06 10:48:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:48:40.710690+00:00', 'runtime': '570840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570841125 ms) 2026-01-06 10:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:47:40.710706+00:00', 'runtime': '570780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570841125 ms) 2026-01-06 10:49:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570860093 ms) 2026-01-06 10:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570860094 ms) 2026-01-06 10:49:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:48:40.713229+00:00'} (T+570860098 ms) 2026-01-06 10:49:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570900054 ms) 2026-01-06 10:49:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570900054 ms) 2026-01-06 10:49:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570900054 ms) 2026-01-06 10:49:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570900054 ms) 2026-01-06 10:49:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570901080 ms) 2026-01-06 10:49:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570901080 ms) 2026-01-06 10:49:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:49:40.710522+00:00', 'runtime': '570900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570901081 ms) 2026-01-06 10:49:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:48:40.710690+00:00', 'runtime': '570840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570901082 ms) 2026-01-06 10:50:00.751 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570920072 ms) 2026-01-06 10:50:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570920073 ms) 2026-01-06 10:50:00.757 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:49:40.710605+00:00'} (T+570920078 ms) 2026-01-06 10:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+570960083 ms) 2026-01-06 10:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+570960083 ms) 2026-01-06 10:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+570960084 ms) 2026-01-06 10:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+570960084 ms) 2026-01-06 10:50:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+570961118 ms) 2026-01-06 10:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+570961119 ms) 2026-01-06 10:50:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:50:40.710829+00:00', 'runtime': '570960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570961120 ms) 2026-01-06 10:50:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:49:40.710522+00:00', 'runtime': '570900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+570961120 ms) 2026-01-06 10:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570980091 ms) 2026-01-06 10:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+570980092 ms) 2026-01-06 10:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:50:40.710944+00:00'} (T+570980094 ms) 2026-01-06 10:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571020082 ms) 2026-01-06 10:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571020083 ms) 2026-01-06 10:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571020083 ms) 2026-01-06 10:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571020084 ms) 2026-01-06 10:51:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571021118 ms) 2026-01-06 10:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571021119 ms) 2026-01-06 10:51:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:51:40.710753+00:00', 'runtime': '571020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571021120 ms) 2026-01-06 10:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:50:40.710829+00:00', 'runtime': '570960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571021120 ms) 2026-01-06 10:52:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571040088 ms) 2026-01-06 10:52:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571040089 ms) 2026-01-06 10:52:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:51:40.710865+00:00'} (T+571040092 ms) 2026-01-06 10:52:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571080080 ms) 2026-01-06 10:52:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571080080 ms) 2026-01-06 10:52:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571080080 ms) 2026-01-06 10:52:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571080081 ms) 2026-01-06 10:52:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571081117 ms) 2026-01-06 10:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571081118 ms) 2026-01-06 10:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:52:40.710743+00:00', 'runtime': '571080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571081120 ms) 2026-01-06 10:52:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:51:40.710753+00:00', 'runtime': '571020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571081121 ms) 2026-01-06 10:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571100087 ms) 2026-01-06 10:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571100088 ms) 2026-01-06 10:53:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:52:40.710848+00:00'} (T+571100090 ms) 2026-01-06 10:53:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571140083 ms) 2026-01-06 10:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571140083 ms) 2026-01-06 10:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571140084 ms) 2026-01-06 10:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571140084 ms) 2026-01-06 10:53:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571141116 ms) 2026-01-06 10:53:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571141116 ms) 2026-01-06 10:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:53:40.710739+00:00', 'runtime': '571140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571141117 ms) 2026-01-06 10:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:52:40.710743+00:00', 'runtime': '571080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571141118 ms) 2026-01-06 10:54:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571160087 ms) 2026-01-06 10:54:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571160087 ms) 2026-01-06 10:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:53:40.710854+00:00'} (T+571160089 ms) 2026-01-06 10:54:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571200083 ms) 2026-01-06 10:54:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571200084 ms) 2026-01-06 10:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571200084 ms) 2026-01-06 10:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571200085 ms) 2026-01-06 10:54:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571201119 ms) 2026-01-06 10:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571201119 ms) 2026-01-06 10:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:54:40.710766+00:00', 'runtime': '571200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571201120 ms) 2026-01-06 10:54:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:53:40.710739+00:00', 'runtime': '571140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571201121 ms) 2026-01-06 10:55:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571220088 ms) 2026-01-06 10:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571220089 ms) 2026-01-06 10:55:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:54:40.710891+00:00'} (T+571220092 ms) 2026-01-06 10:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571260082 ms) 2026-01-06 10:55:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571260083 ms) 2026-01-06 10:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571260083 ms) 2026-01-06 10:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571260083 ms) 2026-01-06 10:55:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571261119 ms) 2026-01-06 10:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571261119 ms) 2026-01-06 10:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:55:40.710716+00:00', 'runtime': '571260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571261120 ms) 2026-01-06 10:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:54:40.710766+00:00', 'runtime': '571200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571261120 ms) 2026-01-06 10:56:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571280088 ms) 2026-01-06 10:56:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571280089 ms) 2026-01-06 10:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:55:40.710852+00:00'} (T+571280092 ms) 2026-01-06 10:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571320083 ms) 2026-01-06 10:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571320083 ms) 2026-01-06 10:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571320084 ms) 2026-01-06 10:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571320084 ms) 2026-01-06 10:56:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571321116 ms) 2026-01-06 10:56:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571321117 ms) 2026-01-06 10:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:56:40.710794+00:00', 'runtime': '571320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571321117 ms) 2026-01-06 10:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:55:40.710716+00:00', 'runtime': '571260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571321118 ms) 2026-01-06 10:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571340090 ms) 2026-01-06 10:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571340091 ms) 2026-01-06 10:57:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:56:40.710863+00:00'} (T+571340094 ms) 2026-01-06 10:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571380082 ms) 2026-01-06 10:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571380083 ms) 2026-01-06 10:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571380083 ms) 2026-01-06 10:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571380084 ms) 2026-01-06 10:57:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571381121 ms) 2026-01-06 10:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571381122 ms) 2026-01-06 10:57:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:57:40.710750+00:00', 'runtime': '571380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571381124 ms) 2026-01-06 10:57:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:56:40.710794+00:00', 'runtime': '571320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571381125 ms) 2026-01-06 10:58:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571400091 ms) 2026-01-06 10:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571400092 ms) 2026-01-06 10:58:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:57:40.710845+00:00'} (T+571400095 ms) 2026-01-06 10:58:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571440078 ms) 2026-01-06 10:58:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571440079 ms) 2026-01-06 10:58:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571440079 ms) 2026-01-06 10:58:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571440079 ms) 2026-01-06 10:58:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571441115 ms) 2026-01-06 10:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571441115 ms) 2026-01-06 10:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:58:40.710728+00:00', 'runtime': '571440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571441117 ms) 2026-01-06 10:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:57:40.710750+00:00', 'runtime': '571380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571441118 ms) 2026-01-06 10:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571460088 ms) 2026-01-06 10:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571460089 ms) 2026-01-06 10:59:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:58:40.710824+00:00'} (T+571460092 ms) 2026-01-06 10:59:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571500054 ms) 2026-01-06 10:59:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571500054 ms) 2026-01-06 10:59:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571500054 ms) 2026-01-06 10:59:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571500054 ms) 2026-01-06 10:59:41.767 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571501088 ms) 2026-01-06 10:59:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571501089 ms) 2026-01-06 10:59:41.770 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 10:59:40.710515+00:00', 'runtime': '571500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571501091 ms) 2026-01-06 10:59:41.771 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:58:40.710728+00:00', 'runtime': '571440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571501092 ms) 2026-01-06 11:00:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571520071 ms) 2026-01-06 11:00:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571520072 ms) 2026-01-06 11:00:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 10:59:40.710602+00:00'} (T+571520075 ms) 2026-01-06 11:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571560083 ms) 2026-01-06 11:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571560083 ms) 2026-01-06 11:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571560083 ms) 2026-01-06 11:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571560084 ms) 2026-01-06 11:00:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571561124 ms) 2026-01-06 11:00:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571561125 ms) 2026-01-06 11:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:00:40.710779+00:00', 'runtime': '571560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571561127 ms) 2026-01-06 11:00:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 10:59:40.710515+00:00', 'runtime': '571500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571561128 ms) 2026-01-06 11:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571580090 ms) 2026-01-06 11:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571580092 ms) 2026-01-06 11:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:00:40.710872+00:00'} (T+571580093 ms) 2026-01-06 11:01:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571620077 ms) 2026-01-06 11:01:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571620077 ms) 2026-01-06 11:01:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571620077 ms) 2026-01-06 11:01:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571620078 ms) 2026-01-06 11:01:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571621114 ms) 2026-01-06 11:01:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571621115 ms) 2026-01-06 11:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:01:40.710714+00:00', 'runtime': '571620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571621117 ms) 2026-01-06 11:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:00:40.710779+00:00', 'runtime': '571560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571621118 ms) 2026-01-06 11:02:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571640087 ms) 2026-01-06 11:02:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571640088 ms) 2026-01-06 11:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:01:40.710858+00:00'} (T+571640091 ms) 2026-01-06 11:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571680082 ms) 2026-01-06 11:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571680083 ms) 2026-01-06 11:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571680083 ms) 2026-01-06 11:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571680084 ms) 2026-01-06 11:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571681116 ms) 2026-01-06 11:02:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571681116 ms) 2026-01-06 11:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:02:40.710721+00:00', 'runtime': '571680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571681117 ms) 2026-01-06 11:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:01:40.710714+00:00', 'runtime': '571620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571681118 ms) 2026-01-06 11:03:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571700087 ms) 2026-01-06 11:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571700088 ms) 2026-01-06 11:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:02:40.710822+00:00'} (T+571700091 ms) 2026-01-06 11:03:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571740082 ms) 2026-01-06 11:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571740083 ms) 2026-01-06 11:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571740083 ms) 2026-01-06 11:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571740084 ms) 2026-01-06 11:03:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571741117 ms) 2026-01-06 11:03:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571741117 ms) 2026-01-06 11:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:03:40.710743+00:00', 'runtime': '571740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571741118 ms) 2026-01-06 11:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:02:40.710721+00:00', 'runtime': '571680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571741119 ms) 2026-01-06 11:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571760090 ms) 2026-01-06 11:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571760091 ms) 2026-01-06 11:04:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:03:40.710860+00:00'} (T+571760093 ms) 2026-01-06 11:04:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571800054 ms) 2026-01-06 11:04:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571800054 ms) 2026-01-06 11:04:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571800054 ms) 2026-01-06 11:04:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571800054 ms) 2026-01-06 11:04:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571801080 ms) 2026-01-06 11:04:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571801080 ms) 2026-01-06 11:04:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:04:40.710527+00:00', 'runtime': '571800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571801081 ms) 2026-01-06 11:04:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:03:40.710743+00:00', 'runtime': '571740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571801081 ms) 2026-01-06 11:05:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571820072 ms) 2026-01-06 11:05:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571820073 ms) 2026-01-06 11:05:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:04:40.710607+00:00'} (T+571820075 ms) 2026-01-06 11:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571860083 ms) 2026-01-06 11:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571860084 ms) 2026-01-06 11:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571860084 ms) 2026-01-06 11:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571860085 ms) 2026-01-06 11:05:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571861116 ms) 2026-01-06 11:05:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571861117 ms) 2026-01-06 11:05:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:05:40.710785+00:00', 'runtime': '571860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571861118 ms) 2026-01-06 11:05:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:04:40.710527+00:00', 'runtime': '571800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571861118 ms) 2026-01-06 11:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571880090 ms) 2026-01-06 11:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571880091 ms) 2026-01-06 11:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:05:40.710880+00:00'} (T+571880094 ms) 2026-01-06 11:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571920083 ms) 2026-01-06 11:06:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571920084 ms) 2026-01-06 11:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571920084 ms) 2026-01-06 11:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571920085 ms) 2026-01-06 11:06:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571921117 ms) 2026-01-06 11:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571921118 ms) 2026-01-06 11:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:06:40.710750+00:00', 'runtime': '571920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571921119 ms) 2026-01-06 11:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:05:40.710785+00:00', 'runtime': '571860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571921119 ms) 2026-01-06 11:07:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571940089 ms) 2026-01-06 11:07:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+571940091 ms) 2026-01-06 11:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:06:40.713237+00:00'} (T+571940093 ms) 2026-01-06 11:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+571980083 ms) 2026-01-06 11:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+571980083 ms) 2026-01-06 11:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+571980084 ms) 2026-01-06 11:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+571980084 ms) 2026-01-06 11:07:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+571981121 ms) 2026-01-06 11:07:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+571981122 ms) 2026-01-06 11:07:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:07:40.710744+00:00', 'runtime': '571980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571981124 ms) 2026-01-06 11:07:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:06:40.710750+00:00', 'runtime': '571920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+571981125 ms) 2026-01-06 11:08:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572000087 ms) 2026-01-06 11:08:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572000088 ms) 2026-01-06 11:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:07:40.713238+00:00'} (T+572000094 ms) 2026-01-06 11:08:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572040084 ms) 2026-01-06 11:08:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572040085 ms) 2026-01-06 11:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572040085 ms) 2026-01-06 11:08:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572040086 ms) 2026-01-06 11:08:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572041119 ms) 2026-01-06 11:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572041120 ms) 2026-01-06 11:08:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:08:40.713160+00:00', 'runtime': '572040.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572041121 ms) 2026-01-06 11:08:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:07:40.710744+00:00', 'runtime': '571980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572041121 ms) 2026-01-06 11:09:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572060091 ms) 2026-01-06 11:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572060092 ms) 2026-01-06 11:09:00.777 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:08:40.710805+00:00'} (T+572060098 ms) 2026-01-06 11:09:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572100054 ms) 2026-01-06 11:09:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572100054 ms) 2026-01-06 11:09:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572100054 ms) 2026-01-06 11:09:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572100054 ms) 2026-01-06 11:09:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572101081 ms) 2026-01-06 11:09:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572101082 ms) 2026-01-06 11:09:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:09:40.710527+00:00', 'runtime': '572100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572101083 ms) 2026-01-06 11:09:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:08:40.713160+00:00', 'runtime': '572040.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572101083 ms) 2026-01-06 11:10:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572120071 ms) 2026-01-06 11:10:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572120073 ms) 2026-01-06 11:10:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:09:40.710577+00:00'} (T+572120076 ms) 2026-01-06 11:10:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572160083 ms) 2026-01-06 11:10:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572160084 ms) 2026-01-06 11:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572160084 ms) 2026-01-06 11:10:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572160085 ms) 2026-01-06 11:10:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572161115 ms) 2026-01-06 11:10:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572161115 ms) 2026-01-06 11:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:10:40.710801+00:00', 'runtime': '572160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572161116 ms) 2026-01-06 11:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:09:40.710527+00:00', 'runtime': '572100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572161116 ms) 2026-01-06 11:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572180087 ms) 2026-01-06 11:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572180088 ms) 2026-01-06 11:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:10:40.710884+00:00'} (T+572180091 ms) 2026-01-06 11:11:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572220084 ms) 2026-01-06 11:11:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572220085 ms) 2026-01-06 11:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572220085 ms) 2026-01-06 11:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572220086 ms) 2026-01-06 11:11:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572221119 ms) 2026-01-06 11:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572221120 ms) 2026-01-06 11:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:11:40.713152+00:00', 'runtime': '572220.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572221121 ms) 2026-01-06 11:11:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:10:40.710801+00:00', 'runtime': '572160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572221121 ms) 2026-01-06 11:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572240090 ms) 2026-01-06 11:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572240091 ms) 2026-01-06 11:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:11:40.710823+00:00'} (T+572240094 ms) 2026-01-06 11:12:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572280079 ms) 2026-01-06 11:12:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572280079 ms) 2026-01-06 11:12:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572280079 ms) 2026-01-06 11:12:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572280079 ms) 2026-01-06 11:12:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572281113 ms) 2026-01-06 11:12:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572281114 ms) 2026-01-06 11:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:12:40.710739+00:00', 'runtime': '572280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572281116 ms) 2026-01-06 11:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:11:40.713152+00:00', 'runtime': '572220.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572281117 ms) 2026-01-06 11:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572300090 ms) 2026-01-06 11:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572300092 ms) 2026-01-06 11:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:12:40.710858+00:00'} (T+572300094 ms) 2026-01-06 11:13:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572340077 ms) 2026-01-06 11:13:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572340078 ms) 2026-01-06 11:13:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572340078 ms) 2026-01-06 11:13:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572340079 ms) 2026-01-06 11:13:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572341115 ms) 2026-01-06 11:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572341116 ms) 2026-01-06 11:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:13:40.710593+00:00', 'runtime': '572340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572341118 ms) 2026-01-06 11:13:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:12:40.710739+00:00', 'runtime': '572280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572341119 ms) 2026-01-06 11:14:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572360084 ms) 2026-01-06 11:14:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572360086 ms) 2026-01-06 11:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:13:40.710864+00:00'} (T+572360088 ms) 2026-01-06 11:14:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572400054 ms) 2026-01-06 11:14:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572400054 ms) 2026-01-06 11:14:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572400054 ms) 2026-01-06 11:14:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572400054 ms) 2026-01-06 11:14:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572401081 ms) 2026-01-06 11:14:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572401081 ms) 2026-01-06 11:14:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:14:40.710513+00:00', 'runtime': '572400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572401082 ms) 2026-01-06 11:14:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:13:40.710593+00:00', 'runtime': '572340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572401083 ms) 2026-01-06 11:15:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572420072 ms) 2026-01-06 11:15:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572420073 ms) 2026-01-06 11:15:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:14:40.710612+00:00'} (T+572420075 ms) 2026-01-06 11:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572460082 ms) 2026-01-06 11:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572460083 ms) 2026-01-06 11:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572460083 ms) 2026-01-06 11:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572460084 ms) 2026-01-06 11:15:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572461118 ms) 2026-01-06 11:15:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572461118 ms) 2026-01-06 11:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:15:40.710768+00:00', 'runtime': '572460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572461119 ms) 2026-01-06 11:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:14:40.710513+00:00', 'runtime': '572400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572461120 ms) 2026-01-06 11:16:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572480087 ms) 2026-01-06 11:16:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572480088 ms) 2026-01-06 11:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:15:40.710870+00:00'} (T+572480091 ms) 2026-01-06 11:16:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572520078 ms) 2026-01-06 11:16:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572520079 ms) 2026-01-06 11:16:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572520079 ms) 2026-01-06 11:16:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572520079 ms) 2026-01-06 11:16:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572521117 ms) 2026-01-06 11:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572521118 ms) 2026-01-06 11:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:16:40.710754+00:00', 'runtime': '572520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572521120 ms) 2026-01-06 11:16:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:15:40.710768+00:00', 'runtime': '572460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572521123 ms) 2026-01-06 11:17:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572540084 ms) 2026-01-06 11:17:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572540085 ms) 2026-01-06 11:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:16:40.710844+00:00'} (T+572540088 ms) 2026-01-06 11:17:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572580084 ms) 2026-01-06 11:17:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572580085 ms) 2026-01-06 11:17:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572580085 ms) 2026-01-06 11:17:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572580086 ms) 2026-01-06 11:17:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572581118 ms) 2026-01-06 11:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572581119 ms) 2026-01-06 11:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:17:40.713189+00:00', 'runtime': '572580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572581120 ms) 2026-01-06 11:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:16:40.710754+00:00', 'runtime': '572520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572581120 ms) 2026-01-06 11:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572600090 ms) 2026-01-06 11:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572600091 ms) 2026-01-06 11:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:17:40.710802+00:00'} (T+572600094 ms) 2026-01-06 11:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572640082 ms) 2026-01-06 11:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572640083 ms) 2026-01-06 11:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572640083 ms) 2026-01-06 11:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572640083 ms) 2026-01-06 11:18:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572641114 ms) 2026-01-06 11:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572641114 ms) 2026-01-06 11:18:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:18:40.710742+00:00', 'runtime': '572640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572641115 ms) 2026-01-06 11:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:17:40.713189+00:00', 'runtime': '572580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572641116 ms) 2026-01-06 11:19:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572660090 ms) 2026-01-06 11:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572660091 ms) 2026-01-06 11:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:18:40.710861+00:00'} (T+572660094 ms) 2026-01-06 11:19:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572700053 ms) 2026-01-06 11:19:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572700054 ms) 2026-01-06 11:19:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572700054 ms) 2026-01-06 11:19:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572700054 ms) 2026-01-06 11:19:41.760 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572701082 ms) 2026-01-06 11:19:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572701082 ms) 2026-01-06 11:19:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:19:40.710544+00:00', 'runtime': '572700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572701083 ms) 2026-01-06 11:19:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:18:40.710742+00:00', 'runtime': '572640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572701083 ms) 2026-01-06 11:20:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572720072 ms) 2026-01-06 11:20:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572720073 ms) 2026-01-06 11:20:00.755 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:19:40.710594+00:00'} (T+572720076 ms) 2026-01-06 11:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572760083 ms) 2026-01-06 11:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572760083 ms) 2026-01-06 11:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572760084 ms) 2026-01-06 11:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572760084 ms) 2026-01-06 11:20:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572761117 ms) 2026-01-06 11:20:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572761117 ms) 2026-01-06 11:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:20:40.710804+00:00', 'runtime': '572760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572761119 ms) 2026-01-06 11:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:19:40.710544+00:00', 'runtime': '572700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572761119 ms) 2026-01-06 11:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572780090 ms) 2026-01-06 11:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572780091 ms) 2026-01-06 11:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:20:40.710876+00:00'} (T+572780094 ms) 2026-01-06 11:21:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572820081 ms) 2026-01-06 11:21:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572820081 ms) 2026-01-06 11:21:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572820081 ms) 2026-01-06 11:21:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572820082 ms) 2026-01-06 11:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572821115 ms) 2026-01-06 11:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572821116 ms) 2026-01-06 11:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:21:40.710727+00:00', 'runtime': '572820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572821118 ms) 2026-01-06 11:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:20:40.710804+00:00', 'runtime': '572760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572821119 ms) 2026-01-06 11:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572840088 ms) 2026-01-06 11:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572840089 ms) 2026-01-06 11:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:21:40.710841+00:00'} (T+572840092 ms) 2026-01-06 11:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572880083 ms) 2026-01-06 11:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572880084 ms) 2026-01-06 11:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572880084 ms) 2026-01-06 11:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572880084 ms) 2026-01-06 11:22:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572881124 ms) 2026-01-06 11:22:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572881125 ms) 2026-01-06 11:22:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:22:40.710763+00:00', 'runtime': '572880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572881127 ms) 2026-01-06 11:22:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:21:40.710727+00:00', 'runtime': '572820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572881128 ms) 2026-01-06 11:23:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572900087 ms) 2026-01-06 11:23:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572900088 ms) 2026-01-06 11:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:22:40.710858+00:00'} (T+572900091 ms) 2026-01-06 11:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+572940082 ms) 2026-01-06 11:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+572940083 ms) 2026-01-06 11:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+572940083 ms) 2026-01-06 11:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+572940084 ms) 2026-01-06 11:23:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+572941119 ms) 2026-01-06 11:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+572941119 ms) 2026-01-06 11:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:23:40.710746+00:00', 'runtime': '572940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572941120 ms) 2026-01-06 11:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:22:40.710763+00:00', 'runtime': '572880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+572941120 ms) 2026-01-06 11:24:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572960091 ms) 2026-01-06 11:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+572960092 ms) 2026-01-06 11:24:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:23:40.710856+00:00'} (T+572960095 ms) 2026-01-06 11:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573000083 ms) 2026-01-06 11:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573000083 ms) 2026-01-06 11:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573000084 ms) 2026-01-06 11:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573000084 ms) 2026-01-06 11:24:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573001121 ms) 2026-01-06 11:24:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573001122 ms) 2026-01-06 11:24:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:24:40.710738+00:00', 'runtime': '573000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573001123 ms) 2026-01-06 11:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:23:40.710746+00:00', 'runtime': '572940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573001123 ms) 2026-01-06 11:25:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573020090 ms) 2026-01-06 11:25:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573020091 ms) 2026-01-06 11:25:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:24:40.710860+00:00'} (T+573020094 ms) 2026-01-06 11:25:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573060076 ms) 2026-01-06 11:25:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573060077 ms) 2026-01-06 11:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573060077 ms) 2026-01-06 11:25:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573060077 ms) 2026-01-06 11:25:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573061113 ms) 2026-01-06 11:25:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573061115 ms) 2026-01-06 11:25:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:25:40.710721+00:00', 'runtime': '573060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573061117 ms) 2026-01-06 11:25:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:24:40.710738+00:00', 'runtime': '573000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573061117 ms) 2026-01-06 11:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573080088 ms) 2026-01-06 11:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573080090 ms) 2026-01-06 11:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:25:40.710853+00:00'} (T+573080092 ms) 2026-01-06 11:26:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573120084 ms) 2026-01-06 11:26:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573120085 ms) 2026-01-06 11:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573120085 ms) 2026-01-06 11:26:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573120086 ms) 2026-01-06 11:26:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573121122 ms) 2026-01-06 11:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573121123 ms) 2026-01-06 11:26:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:26:40.713165+00:00', 'runtime': '573120.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573121125 ms) 2026-01-06 11:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:25:40.710721+00:00', 'runtime': '573060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573121126 ms) 2026-01-06 11:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573140090 ms) 2026-01-06 11:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573140091 ms) 2026-01-06 11:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:26:40.710821+00:00'} (T+573140094 ms) 2026-01-06 11:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573180082 ms) 2026-01-06 11:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573180083 ms) 2026-01-06 11:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573180083 ms) 2026-01-06 11:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573180084 ms) 2026-01-06 11:27:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573181116 ms) 2026-01-06 11:27:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573181116 ms) 2026-01-06 11:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:27:40.710719+00:00', 'runtime': '573180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573181117 ms) 2026-01-06 11:27:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:26:40.713165+00:00', 'runtime': '573120.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573181118 ms) 2026-01-06 11:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573200090 ms) 2026-01-06 11:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573200091 ms) 2026-01-06 11:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:27:40.710845+00:00'} (T+573200094 ms) 2026-01-06 11:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573240083 ms) 2026-01-06 11:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573240083 ms) 2026-01-06 11:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573240083 ms) 2026-01-06 11:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573240084 ms) 2026-01-06 11:28:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573241124 ms) 2026-01-06 11:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573241125 ms) 2026-01-06 11:28:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:28:40.710797+00:00', 'runtime': '573240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573241127 ms) 2026-01-06 11:28:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:27:40.710719+00:00', 'runtime': '573180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573241128 ms) 2026-01-06 11:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573260090 ms) 2026-01-06 11:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573260091 ms) 2026-01-06 11:29:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:28:40.710859+00:00'} (T+573260093 ms) 2026-01-06 11:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573300084 ms) 2026-01-06 11:29:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573300084 ms) 2026-01-06 11:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573300084 ms) 2026-01-06 11:29:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573300085 ms) 2026-01-06 11:29:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573301120 ms) 2026-01-06 11:29:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573301121 ms) 2026-01-06 11:29:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:29:40.710720+00:00', 'runtime': '573300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573301121 ms) 2026-01-06 11:29:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:28:40.710797+00:00', 'runtime': '573240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573301122 ms) 2026-01-06 11:30:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573320085 ms) 2026-01-06 11:30:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573320086 ms) 2026-01-06 11:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:29:40.710840+00:00'} (T+573320089 ms) 2026-01-06 11:30:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573360081 ms) 2026-01-06 11:30:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573360081 ms) 2026-01-06 11:30:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573360081 ms) 2026-01-06 11:30:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573360081 ms) 2026-01-06 11:30:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573361115 ms) 2026-01-06 11:30:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573361115 ms) 2026-01-06 11:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:30:40.710735+00:00', 'runtime': '573360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573361117 ms) 2026-01-06 11:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:29:40.710720+00:00', 'runtime': '573300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573361118 ms) 2026-01-06 11:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573380090 ms) 2026-01-06 11:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573380091 ms) 2026-01-06 11:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:30:40.710857+00:00'} (T+573380094 ms) 2026-01-06 11:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573420082 ms) 2026-01-06 11:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573420083 ms) 2026-01-06 11:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573420083 ms) 2026-01-06 11:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573420084 ms) 2026-01-06 11:31:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573421119 ms) 2026-01-06 11:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573421119 ms) 2026-01-06 11:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:31:40.710736+00:00', 'runtime': '573420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573421120 ms) 2026-01-06 11:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:30:40.710735+00:00', 'runtime': '573360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573421120 ms) 2026-01-06 11:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573440090 ms) 2026-01-06 11:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573440091 ms) 2026-01-06 11:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:31:40.710840+00:00'} (T+573440094 ms) 2026-01-06 11:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573480082 ms) 2026-01-06 11:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573480083 ms) 2026-01-06 11:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573480083 ms) 2026-01-06 11:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573480084 ms) 2026-01-06 11:32:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573481112 ms) 2026-01-06 11:32:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573481112 ms) 2026-01-06 11:32:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:32:40.710726+00:00', 'runtime': '573480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573481113 ms) 2026-01-06 11:32:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:31:40.710736+00:00', 'runtime': '573420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573481113 ms) 2026-01-06 11:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573500090 ms) 2026-01-06 11:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573500091 ms) 2026-01-06 11:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:32:40.710848+00:00'} (T+573500094 ms) 2026-01-06 11:33:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573540076 ms) 2026-01-06 11:33:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573540077 ms) 2026-01-06 11:33:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573540077 ms) 2026-01-06 11:33:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573540077 ms) 2026-01-06 11:33:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573541116 ms) 2026-01-06 11:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573541117 ms) 2026-01-06 11:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:33:40.710740+00:00', 'runtime': '573540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573541118 ms) 2026-01-06 11:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:32:40.710726+00:00', 'runtime': '573480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573541119 ms) 2026-01-06 11:34:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573560090 ms) 2026-01-06 11:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573560091 ms) 2026-01-06 11:34:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:33:40.713242+00:00'} (T+573560093 ms) 2026-01-06 11:34:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573600082 ms) 2026-01-06 11:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573600083 ms) 2026-01-06 11:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573600083 ms) 2026-01-06 11:34:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573600084 ms) 2026-01-06 11:34:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573601119 ms) 2026-01-06 11:34:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573601119 ms) 2026-01-06 11:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:34:40.710712+00:00', 'runtime': '573600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573601120 ms) 2026-01-06 11:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:33:40.710740+00:00', 'runtime': '573540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573601120 ms) 2026-01-06 11:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573620090 ms) 2026-01-06 11:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573620091 ms) 2026-01-06 11:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:34:40.710854+00:00'} (T+573620093 ms) 2026-01-06 11:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573660082 ms) 2026-01-06 11:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573660083 ms) 2026-01-06 11:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573660083 ms) 2026-01-06 11:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573660084 ms) 2026-01-06 11:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573661116 ms) 2026-01-06 11:35:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573661116 ms) 2026-01-06 11:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:35:40.710700+00:00', 'runtime': '573660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573661118 ms) 2026-01-06 11:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:34:40.710712+00:00', 'runtime': '573600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573661119 ms) 2026-01-06 11:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573680088 ms) 2026-01-06 11:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573680089 ms) 2026-01-06 11:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:35:40.710851+00:00'} (T+573680092 ms) 2026-01-06 11:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573720083 ms) 2026-01-06 11:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573720083 ms) 2026-01-06 11:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573720084 ms) 2026-01-06 11:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573720084 ms) 2026-01-06 11:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573721116 ms) 2026-01-06 11:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573721117 ms) 2026-01-06 11:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:36:40.710749+00:00', 'runtime': '573720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573721118 ms) 2026-01-06 11:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:35:40.710700+00:00', 'runtime': '573660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573721118 ms) 2026-01-06 11:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573740090 ms) 2026-01-06 11:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573740091 ms) 2026-01-06 11:37:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:36:40.710848+00:00'} (T+573740093 ms) 2026-01-06 11:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573780083 ms) 2026-01-06 11:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573780083 ms) 2026-01-06 11:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573780084 ms) 2026-01-06 11:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573780084 ms) 2026-01-06 11:37:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573781116 ms) 2026-01-06 11:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573781116 ms) 2026-01-06 11:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:37:40.710740+00:00', 'runtime': '573780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573781117 ms) 2026-01-06 11:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:36:40.710749+00:00', 'runtime': '573720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573781118 ms) 2026-01-06 11:38:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573800090 ms) 2026-01-06 11:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573800091 ms) 2026-01-06 11:38:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:37:40.710866+00:00'} (T+573800094 ms) 2026-01-06 11:38:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573840083 ms) 2026-01-06 11:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573840083 ms) 2026-01-06 11:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573840084 ms) 2026-01-06 11:38:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573840084 ms) 2026-01-06 11:38:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573841116 ms) 2026-01-06 11:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573841117 ms) 2026-01-06 11:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:38:40.710735+00:00', 'runtime': '573840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573841118 ms) 2026-01-06 11:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:37:40.710740+00:00', 'runtime': '573780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573841118 ms) 2026-01-06 11:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573860088 ms) 2026-01-06 11:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573860089 ms) 2026-01-06 11:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:38:40.710863+00:00'} (T+573860092 ms) 2026-01-06 11:39:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573900081 ms) 2026-01-06 11:39:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573900081 ms) 2026-01-06 11:39:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573900082 ms) 2026-01-06 11:39:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573900082 ms) 2026-01-06 11:39:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573901116 ms) 2026-01-06 11:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573901117 ms) 2026-01-06 11:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:39:40.710739+00:00', 'runtime': '573900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573901119 ms) 2026-01-06 11:39:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:38:40.710735+00:00', 'runtime': '573840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573901120 ms) 2026-01-06 11:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573920090 ms) 2026-01-06 11:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573920091 ms) 2026-01-06 11:40:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:39:40.710863+00:00'} (T+573920093 ms) 2026-01-06 11:40:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+573960077 ms) 2026-01-06 11:40:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+573960077 ms) 2026-01-06 11:40:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+573960078 ms) 2026-01-06 11:40:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+573960078 ms) 2026-01-06 11:40:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+573961115 ms) 2026-01-06 11:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+573961116 ms) 2026-01-06 11:40:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:40:40.710734+00:00', 'runtime': '573960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573961117 ms) 2026-01-06 11:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:39:40.710739+00:00', 'runtime': '573900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+573961118 ms) 2026-01-06 11:41:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573980084 ms) 2026-01-06 11:41:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+573980085 ms) 2026-01-06 11:41:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:40:40.710851+00:00'} (T+573980088 ms) 2026-01-06 11:41:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574020078 ms) 2026-01-06 11:41:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574020079 ms) 2026-01-06 11:41:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574020079 ms) 2026-01-06 11:41:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574020079 ms) 2026-01-06 11:41:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574021115 ms) 2026-01-06 11:41:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574021116 ms) 2026-01-06 11:41:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:41:40.710725+00:00', 'runtime': '574020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574021117 ms) 2026-01-06 11:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:40:40.710734+00:00', 'runtime': '573960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574021118 ms) 2026-01-06 11:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574040088 ms) 2026-01-06 11:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574040089 ms) 2026-01-06 11:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:41:40.710857+00:00'} (T+574040092 ms) 2026-01-06 11:42:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574080078 ms) 2026-01-06 11:42:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574080079 ms) 2026-01-06 11:42:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574080079 ms) 2026-01-06 11:42:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574080079 ms) 2026-01-06 11:42:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574081118 ms) 2026-01-06 11:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574081119 ms) 2026-01-06 11:42:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:42:40.710728+00:00', 'runtime': '574080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574081121 ms) 2026-01-06 11:42:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:41:40.710725+00:00', 'runtime': '574020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574081122 ms) 2026-01-06 11:43:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574100083 ms) 2026-01-06 11:43:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574100084 ms) 2026-01-06 11:43:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:42:40.710865+00:00'} (T+574100087 ms) 2026-01-06 11:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574140083 ms) 2026-01-06 11:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574140084 ms) 2026-01-06 11:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574140084 ms) 2026-01-06 11:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574140085 ms) 2026-01-06 11:43:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574141123 ms) 2026-01-06 11:43:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574141124 ms) 2026-01-06 11:43:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:43:40.710715+00:00', 'runtime': '574140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574141126 ms) 2026-01-06 11:43:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:42:40.710728+00:00', 'runtime': '574080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574141127 ms) 2026-01-06 11:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574160090 ms) 2026-01-06 11:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574160091 ms) 2026-01-06 11:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:43:40.710848+00:00'} (T+574160094 ms) 2026-01-06 11:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574200082 ms) 2026-01-06 11:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574200083 ms) 2026-01-06 11:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574200083 ms) 2026-01-06 11:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574200083 ms) 2026-01-06 11:44:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574201115 ms) 2026-01-06 11:44:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574201116 ms) 2026-01-06 11:44:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:44:40.710696+00:00', 'runtime': '574200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574201117 ms) 2026-01-06 11:44:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:43:40.710715+00:00', 'runtime': '574140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574201117 ms) 2026-01-06 11:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574220090 ms) 2026-01-06 11:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574220091 ms) 2026-01-06 11:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:44:40.710838+00:00'} (T+574220094 ms) 2026-01-06 11:45:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574260082 ms) 2026-01-06 11:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574260083 ms) 2026-01-06 11:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574260083 ms) 2026-01-06 11:45:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574260084 ms) 2026-01-06 11:45:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574261116 ms) 2026-01-06 11:45:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574261116 ms) 2026-01-06 11:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:45:40.710741+00:00', 'runtime': '574260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574261117 ms) 2026-01-06 11:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:44:40.710696+00:00', 'runtime': '574200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574261118 ms) 2026-01-06 11:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574280090 ms) 2026-01-06 11:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574280091 ms) 2026-01-06 11:46:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:45:40.710851+00:00'} (T+574280094 ms) 2026-01-06 11:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574320083 ms) 2026-01-06 11:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574320083 ms) 2026-01-06 11:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574320083 ms) 2026-01-06 11:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574320084 ms) 2026-01-06 11:46:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574321120 ms) 2026-01-06 11:46:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574321121 ms) 2026-01-06 11:46:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:46:40.710762+00:00', 'runtime': '574320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574321121 ms) 2026-01-06 11:46:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:45:40.710741+00:00', 'runtime': '574260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574321122 ms) 2026-01-06 11:47:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574340091 ms) 2026-01-06 11:47:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574340092 ms) 2026-01-06 11:47:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:46:40.710852+00:00'} (T+574340095 ms) 2026-01-06 11:47:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574380083 ms) 2026-01-06 11:47:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574380084 ms) 2026-01-06 11:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574380084 ms) 2026-01-06 11:47:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574380084 ms) 2026-01-06 11:47:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574381119 ms) 2026-01-06 11:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574381119 ms) 2026-01-06 11:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:47:40.710742+00:00', 'runtime': '574380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574381121 ms) 2026-01-06 11:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:46:40.710762+00:00', 'runtime': '574320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574381121 ms) 2026-01-06 11:48:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574400092 ms) 2026-01-06 11:48:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574400093 ms) 2026-01-06 11:48:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:47:40.713241+00:00'} (T+574400096 ms) 2026-01-06 11:48:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574440083 ms) 2026-01-06 11:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574440083 ms) 2026-01-06 11:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574440083 ms) 2026-01-06 11:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574440084 ms) 2026-01-06 11:48:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574441122 ms) 2026-01-06 11:48:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574441123 ms) 2026-01-06 11:48:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:48:40.710731+00:00', 'runtime': '574440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574441125 ms) 2026-01-06 11:48:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:47:40.710742+00:00', 'runtime': '574380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574441125 ms) 2026-01-06 11:49:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574460093 ms) 2026-01-06 11:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574460095 ms) 2026-01-06 11:49:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:48:40.713237+00:00'} (T+574460097 ms) 2026-01-06 11:49:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574500077 ms) 2026-01-06 11:49:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574500078 ms) 2026-01-06 11:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574500078 ms) 2026-01-06 11:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574500079 ms) 2026-01-06 11:49:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574501112 ms) 2026-01-06 11:49:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574501113 ms) 2026-01-06 11:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:49:40.713167+00:00', 'runtime': '574500.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574501115 ms) 2026-01-06 11:49:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:48:40.710731+00:00', 'runtime': '574440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574501116 ms) 2026-01-06 11:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574520088 ms) 2026-01-06 11:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574520089 ms) 2026-01-06 11:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:49:40.710784+00:00'} (T+574520092 ms) 2026-01-06 11:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574560083 ms) 2026-01-06 11:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574560084 ms) 2026-01-06 11:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574560084 ms) 2026-01-06 11:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574560084 ms) 2026-01-06 11:50:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574561122 ms) 2026-01-06 11:50:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574561122 ms) 2026-01-06 11:50:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:50:40.710765+00:00', 'runtime': '574560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574561123 ms) 2026-01-06 11:50:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:49:40.713167+00:00', 'runtime': '574500.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574561123 ms) 2026-01-06 11:51:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574580093 ms) 2026-01-06 11:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574580094 ms) 2026-01-06 11:51:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:50:40.713231+00:00'} (T+574580097 ms) 2026-01-06 11:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574620083 ms) 2026-01-06 11:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574620083 ms) 2026-01-06 11:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574620083 ms) 2026-01-06 11:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574620084 ms) 2026-01-06 11:51:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574621122 ms) 2026-01-06 11:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574621123 ms) 2026-01-06 11:51:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:51:40.710770+00:00', 'runtime': '574620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574621125 ms) 2026-01-06 11:51:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:50:40.710765+00:00', 'runtime': '574560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574621126 ms) 2026-01-06 11:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574640087 ms) 2026-01-06 11:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574640088 ms) 2026-01-06 11:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:51:40.710851+00:00'} (T+574640091 ms) 2026-01-06 11:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574680082 ms) 2026-01-06 11:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574680083 ms) 2026-01-06 11:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574680083 ms) 2026-01-06 11:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574680084 ms) 2026-01-06 11:52:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574681121 ms) 2026-01-06 11:52:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574681123 ms) 2026-01-06 11:52:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:52:40.710719+00:00', 'runtime': '574680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574681125 ms) 2026-01-06 11:52:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:51:40.710770+00:00', 'runtime': '574620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574681126 ms) 2026-01-06 11:53:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574700090 ms) 2026-01-06 11:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574700091 ms) 2026-01-06 11:53:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:52:40.710861+00:00'} (T+574700094 ms) 2026-01-06 11:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574740082 ms) 2026-01-06 11:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574740083 ms) 2026-01-06 11:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574740083 ms) 2026-01-06 11:53:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574740084 ms) 2026-01-06 11:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574741119 ms) 2026-01-06 11:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574741119 ms) 2026-01-06 11:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:53:40.710693+00:00', 'runtime': '574740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574741120 ms) 2026-01-06 11:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:52:40.710719+00:00', 'runtime': '574680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574741120 ms) 2026-01-06 11:54:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574760091 ms) 2026-01-06 11:54:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574760092 ms) 2026-01-06 11:54:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:53:40.710844+00:00'} (T+574760095 ms) 2026-01-06 11:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574800082 ms) 2026-01-06 11:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574800083 ms) 2026-01-06 11:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574800083 ms) 2026-01-06 11:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574800083 ms) 2026-01-06 11:54:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574801117 ms) 2026-01-06 11:54:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574801118 ms) 2026-01-06 11:54:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:54:40.710794+00:00', 'runtime': '574800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574801118 ms) 2026-01-06 11:54:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:53:40.710693+00:00', 'runtime': '574740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574801119 ms) 2026-01-06 11:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574820090 ms) 2026-01-06 11:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574820092 ms) 2026-01-06 11:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:54:40.710869+00:00'} (T+574820094 ms) 2026-01-06 11:55:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574860080 ms) 2026-01-06 11:55:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574860081 ms) 2026-01-06 11:55:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574860081 ms) 2026-01-06 11:55:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574860081 ms) 2026-01-06 11:55:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574861114 ms) 2026-01-06 11:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574861115 ms) 2026-01-06 11:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:55:40.710757+00:00', 'runtime': '574860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574861117 ms) 2026-01-06 11:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:54:40.710794+00:00', 'runtime': '574800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574861118 ms) 2026-01-06 11:56:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574880090 ms) 2026-01-06 11:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574880091 ms) 2026-01-06 11:56:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:55:40.710858+00:00'} (T+574880093 ms) 2026-01-06 11:56:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574920081 ms) 2026-01-06 11:56:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574920081 ms) 2026-01-06 11:56:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574920081 ms) 2026-01-06 11:56:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574920082 ms) 2026-01-06 11:56:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574921115 ms) 2026-01-06 11:56:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574921116 ms) 2026-01-06 11:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:56:40.710740+00:00', 'runtime': '574920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574921118 ms) 2026-01-06 11:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:55:40.710757+00:00', 'runtime': '574860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574921119 ms) 2026-01-06 11:57:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574940094 ms) 2026-01-06 11:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+574940095 ms) 2026-01-06 11:57:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:56:40.713242+00:00'} (T+574940098 ms) 2026-01-06 11:57:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+574980082 ms) 2026-01-06 11:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+574980083 ms) 2026-01-06 11:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+574980083 ms) 2026-01-06 11:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+574980084 ms) 2026-01-06 11:57:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+574981118 ms) 2026-01-06 11:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+574981119 ms) 2026-01-06 11:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:57:40.710713+00:00', 'runtime': '574980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574981121 ms) 2026-01-06 11:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:56:40.710740+00:00', 'runtime': '574920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+574981122 ms) 2026-01-06 11:58:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575000088 ms) 2026-01-06 11:58:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575000089 ms) 2026-01-06 11:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:57:40.710839+00:00'} (T+575000092 ms) 2026-01-06 11:58:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575040083 ms) 2026-01-06 11:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575040083 ms) 2026-01-06 11:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575040084 ms) 2026-01-06 11:58:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575040084 ms) 2026-01-06 11:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575041119 ms) 2026-01-06 11:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575041119 ms) 2026-01-06 11:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:58:40.710727+00:00', 'runtime': '575040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575041120 ms) 2026-01-06 11:58:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:57:40.710713+00:00', 'runtime': '574980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575041121 ms) 2026-01-06 11:59:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575060085 ms) 2026-01-06 11:59:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575060086 ms) 2026-01-06 11:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:58:40.710819+00:00'} (T+575060089 ms) 2026-01-06 11:59:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575100076 ms) 2026-01-06 11:59:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575100077 ms) 2026-01-06 11:59:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575100077 ms) 2026-01-06 11:59:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575100077 ms) 2026-01-06 11:59:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575101113 ms) 2026-01-06 11:59:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575101114 ms) 2026-01-06 11:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 11:59:40.710742+00:00', 'runtime': '575100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575101116 ms) 2026-01-06 11:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:58:40.710727+00:00', 'runtime': '575040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575101117 ms) 2026-01-06 12:00:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575120084 ms) 2026-01-06 12:00:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575120085 ms) 2026-01-06 12:00:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 11:59:40.710873+00:00'} (T+575120088 ms) 2026-01-06 12:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575160082 ms) 2026-01-06 12:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575160083 ms) 2026-01-06 12:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575160083 ms) 2026-01-06 12:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575160084 ms) 2026-01-06 12:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575161123 ms) 2026-01-06 12:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575161124 ms) 2026-01-06 12:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:00:40.710770+00:00', 'runtime': '575160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575161126 ms) 2026-01-06 12:00:41.809 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 11:59:40.710742+00:00', 'runtime': '575100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575161130 ms) 2026-01-06 12:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575180087 ms) 2026-01-06 12:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575180088 ms) 2026-01-06 12:01:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:00:40.710866+00:00'} (T+575180090 ms) 2026-01-06 12:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575220083 ms) 2026-01-06 12:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575220083 ms) 2026-01-06 12:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575220084 ms) 2026-01-06 12:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575220084 ms) 2026-01-06 12:01:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575221120 ms) 2026-01-06 12:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575221120 ms) 2026-01-06 12:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:01:40.710719+00:00', 'runtime': '575220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575221121 ms) 2026-01-06 12:01:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:00:40.710770+00:00', 'runtime': '575160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575221122 ms) 2026-01-06 12:02:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575240093 ms) 2026-01-06 12:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575240094 ms) 2026-01-06 12:02:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:01:40.713240+00:00'} (T+575240097 ms) 2026-01-06 12:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575280083 ms) 2026-01-06 12:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575280084 ms) 2026-01-06 12:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575280084 ms) 2026-01-06 12:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575280084 ms) 2026-01-06 12:02:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575281117 ms) 2026-01-06 12:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575281117 ms) 2026-01-06 12:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:02:40.710761+00:00', 'runtime': '575280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575281118 ms) 2026-01-06 12:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:01:40.710719+00:00', 'runtime': '575220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575281119 ms) 2026-01-06 12:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575300088 ms) 2026-01-06 12:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575300089 ms) 2026-01-06 12:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:02:40.710850+00:00'} (T+575300092 ms) 2026-01-06 12:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575340083 ms) 2026-01-06 12:03:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575340084 ms) 2026-01-06 12:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575340084 ms) 2026-01-06 12:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575340085 ms) 2026-01-06 12:03:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575341119 ms) 2026-01-06 12:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575341119 ms) 2026-01-06 12:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:03:40.710798+00:00', 'runtime': '575340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575341120 ms) 2026-01-06 12:03:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:02:40.710761+00:00', 'runtime': '575280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575341121 ms) 2026-01-06 12:04:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575360091 ms) 2026-01-06 12:04:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575360092 ms) 2026-01-06 12:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:03:40.710857+00:00'} (T+575360094 ms) 2026-01-06 12:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575400084 ms) 2026-01-06 12:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575400084 ms) 2026-01-06 12:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575400084 ms) 2026-01-06 12:04:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575400085 ms) 2026-01-06 12:04:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575401124 ms) 2026-01-06 12:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575401125 ms) 2026-01-06 12:04:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:04:40.710777+00:00', 'runtime': '575400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575401127 ms) 2026-01-06 12:04:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:03:40.710798+00:00', 'runtime': '575340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575401128 ms) 2026-01-06 12:05:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575420088 ms) 2026-01-06 12:05:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575420089 ms) 2026-01-06 12:05:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:04:40.710836+00:00'} (T+575420090 ms) 2026-01-06 12:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575460083 ms) 2026-01-06 12:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575460083 ms) 2026-01-06 12:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575460084 ms) 2026-01-06 12:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575460084 ms) 2026-01-06 12:05:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575461118 ms) 2026-01-06 12:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575461119 ms) 2026-01-06 12:05:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:05:40.710738+00:00', 'runtime': '575460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575461120 ms) 2026-01-06 12:05:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:04:40.710777+00:00', 'runtime': '575400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575461120 ms) 2026-01-06 12:06:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575480087 ms) 2026-01-06 12:06:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575480088 ms) 2026-01-06 12:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:05:40.710871+00:00'} (T+575480091 ms) 2026-01-06 12:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575520083 ms) 2026-01-06 12:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575520083 ms) 2026-01-06 12:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575520084 ms) 2026-01-06 12:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575520084 ms) 2026-01-06 12:06:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575521122 ms) 2026-01-06 12:06:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575521123 ms) 2026-01-06 12:06:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:06:40.710797+00:00', 'runtime': '575520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575521123 ms) 2026-01-06 12:06:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:05:40.710738+00:00', 'runtime': '575460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575521125 ms) 2026-01-06 12:07:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575540087 ms) 2026-01-06 12:07:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575540088 ms) 2026-01-06 12:07:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:06:40.710888+00:00'} (T+575540090 ms) 2026-01-06 12:07:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575580079 ms) 2026-01-06 12:07:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575580080 ms) 2026-01-06 12:07:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575580080 ms) 2026-01-06 12:07:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575580080 ms) 2026-01-06 12:07:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575581115 ms) 2026-01-06 12:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575581116 ms) 2026-01-06 12:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:07:40.713154+00:00', 'runtime': '575580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575581118 ms) 2026-01-06 12:07:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:06:40.710797+00:00', 'runtime': '575520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575581119 ms) 2026-01-06 12:08:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575600087 ms) 2026-01-06 12:08:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575600088 ms) 2026-01-06 12:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:07:40.710809+00:00'} (T+575600091 ms) 2026-01-06 12:08:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575640084 ms) 2026-01-06 12:08:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575640085 ms) 2026-01-06 12:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575640085 ms) 2026-01-06 12:08:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575640086 ms) 2026-01-06 12:08:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575641118 ms) 2026-01-06 12:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575641118 ms) 2026-01-06 12:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:08:40.713169+00:00', 'runtime': '575640.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575641119 ms) 2026-01-06 12:08:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:07:40.713154+00:00', 'runtime': '575580.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575641120 ms) 2026-01-06 12:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575660087 ms) 2026-01-06 12:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575660088 ms) 2026-01-06 12:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:08:40.710824+00:00'} (T+575660091 ms) 2026-01-06 12:09:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575700085 ms) 2026-01-06 12:09:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575700086 ms) 2026-01-06 12:09:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575700086 ms) 2026-01-06 12:09:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575700087 ms) 2026-01-06 12:09:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575701116 ms) 2026-01-06 12:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575701116 ms) 2026-01-06 12:09:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:09:40.713173+00:00', 'runtime': '575700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575701117 ms) 2026-01-06 12:09:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:08:40.713169+00:00', 'runtime': '575640.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575701118 ms) 2026-01-06 12:10:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575720086 ms) 2026-01-06 12:10:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575720086 ms) 2026-01-06 12:10:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:09:40.710810+00:00'} (T+575720087 ms) 2026-01-06 12:10:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575760086 ms) 2026-01-06 12:10:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575760086 ms) 2026-01-06 12:10:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575760087 ms) 2026-01-06 12:10:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575760087 ms) 2026-01-06 12:10:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575761119 ms) 2026-01-06 12:10:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575761120 ms) 2026-01-06 12:10:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:10:40.713186+00:00', 'runtime': '575760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575761121 ms) 2026-01-06 12:10:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:09:40.713173+00:00', 'runtime': '575700.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575761121 ms) 2026-01-06 12:11:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575780087 ms) 2026-01-06 12:11:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575780088 ms) 2026-01-06 12:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:10:40.710805+00:00'} (T+575780091 ms) 2026-01-06 12:11:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575820076 ms) 2026-01-06 12:11:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575820077 ms) 2026-01-06 12:11:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575820077 ms) 2026-01-06 12:11:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575820077 ms) 2026-01-06 12:11:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575821112 ms) 2026-01-06 12:11:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575821113 ms) 2026-01-06 12:11:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:11:40.710705+00:00', 'runtime': '575820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575821115 ms) 2026-01-06 12:11:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:10:40.713186+00:00', 'runtime': '575760.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575821116 ms) 2026-01-06 12:12:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575840084 ms) 2026-01-06 12:12:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575840085 ms) 2026-01-06 12:12:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:11:40.710834+00:00'} (T+575840088 ms) 2026-01-06 12:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575880082 ms) 2026-01-06 12:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575880083 ms) 2026-01-06 12:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575880083 ms) 2026-01-06 12:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575880084 ms) 2026-01-06 12:12:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575881121 ms) 2026-01-06 12:12:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575881122 ms) 2026-01-06 12:12:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:12:40.710735+00:00', 'runtime': '575880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575881123 ms) 2026-01-06 12:12:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:11:40.710705+00:00', 'runtime': '575820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575881123 ms) 2026-01-06 12:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575900090 ms) 2026-01-06 12:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575900091 ms) 2026-01-06 12:13:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:12:40.710860+00:00'} (T+575900093 ms) 2026-01-06 12:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+575940083 ms) 2026-01-06 12:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+575940083 ms) 2026-01-06 12:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+575940084 ms) 2026-01-06 12:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+575940084 ms) 2026-01-06 12:13:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+575941122 ms) 2026-01-06 12:13:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+575941122 ms) 2026-01-06 12:13:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:13:40.710788+00:00', 'runtime': '575940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575941125 ms) 2026-01-06 12:13:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:12:40.710735+00:00', 'runtime': '575880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+575941125 ms) 2026-01-06 12:14:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575960087 ms) 2026-01-06 12:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+575960088 ms) 2026-01-06 12:14:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:13:40.710871+00:00'} (T+575960090 ms) 2026-01-06 12:14:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576000082 ms) 2026-01-06 12:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576000083 ms) 2026-01-06 12:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576000083 ms) 2026-01-06 12:14:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576000083 ms) 2026-01-06 12:14:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576001124 ms) 2026-01-06 12:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576001125 ms) 2026-01-06 12:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:14:40.710729+00:00', 'runtime': '576000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576001127 ms) 2026-01-06 12:14:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:13:40.710788+00:00', 'runtime': '575940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576001128 ms) 2026-01-06 12:15:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576020087 ms) 2026-01-06 12:15:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576020087 ms) 2026-01-06 12:15:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:14:40.710862+00:00'} (T+576020089 ms) 2026-01-06 12:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576060083 ms) 2026-01-06 12:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576060084 ms) 2026-01-06 12:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576060084 ms) 2026-01-06 12:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576060084 ms) 2026-01-06 12:15:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576061121 ms) 2026-01-06 12:15:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576061122 ms) 2026-01-06 12:15:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:15:40.710736+00:00', 'runtime': '576060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576061124 ms) 2026-01-06 12:15:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:14:40.710729+00:00', 'runtime': '576000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576061125 ms) 2026-01-06 12:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576080090 ms) 2026-01-06 12:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576080092 ms) 2026-01-06 12:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:15:40.710921+00:00'} (T+576080094 ms) 2026-01-06 12:16:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576120083 ms) 2026-01-06 12:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576120083 ms) 2026-01-06 12:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576120084 ms) 2026-01-06 12:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576120084 ms) 2026-01-06 12:16:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576121117 ms) 2026-01-06 12:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576121117 ms) 2026-01-06 12:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:16:40.710703+00:00', 'runtime': '576120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576121118 ms) 2026-01-06 12:16:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:15:40.710736+00:00', 'runtime': '576060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576121119 ms) 2026-01-06 12:17:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576140091 ms) 2026-01-06 12:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576140092 ms) 2026-01-06 12:17:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:16:40.710820+00:00'} (T+576140095 ms) 2026-01-06 12:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576180082 ms) 2026-01-06 12:17:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576180083 ms) 2026-01-06 12:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576180083 ms) 2026-01-06 12:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576180083 ms) 2026-01-06 12:17:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576181118 ms) 2026-01-06 12:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576181118 ms) 2026-01-06 12:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:17:40.710726+00:00', 'runtime': '576180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576181119 ms) 2026-01-06 12:17:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:16:40.710703+00:00', 'runtime': '576120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576181120 ms) 2026-01-06 12:18:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576200091 ms) 2026-01-06 12:18:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576200092 ms) 2026-01-06 12:18:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:17:40.710861+00:00'} (T+576200095 ms) 2026-01-06 12:18:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576240078 ms) 2026-01-06 12:18:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576240078 ms) 2026-01-06 12:18:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576240078 ms) 2026-01-06 12:18:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576240079 ms) 2026-01-06 12:18:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576241114 ms) 2026-01-06 12:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576241115 ms) 2026-01-06 12:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:18:40.710731+00:00', 'runtime': '576240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576241117 ms) 2026-01-06 12:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:17:40.710726+00:00', 'runtime': '576180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576241117 ms) 2026-01-06 12:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576260091 ms) 2026-01-06 12:19:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576260092 ms) 2026-01-06 12:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:18:40.713229+00:00'} (T+576260095 ms) 2026-01-06 12:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576300083 ms) 2026-01-06 12:19:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576300084 ms) 2026-01-06 12:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576300084 ms) 2026-01-06 12:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576300085 ms) 2026-01-06 12:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576301119 ms) 2026-01-06 12:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576301120 ms) 2026-01-06 12:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:19:40.710778+00:00', 'runtime': '576300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576301120 ms) 2026-01-06 12:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:18:40.710731+00:00', 'runtime': '576240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576301121 ms) 2026-01-06 12:20:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576320089 ms) 2026-01-06 12:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576320089 ms) 2026-01-06 12:20:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:19:40.710834+00:00'} (T+576320091 ms) 2026-01-06 12:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576360083 ms) 2026-01-06 12:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576360083 ms) 2026-01-06 12:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576360084 ms) 2026-01-06 12:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576360084 ms) 2026-01-06 12:20:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576361118 ms) 2026-01-06 12:20:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576361118 ms) 2026-01-06 12:20:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:20:40.710728+00:00', 'runtime': '576360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576361119 ms) 2026-01-06 12:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:19:40.710778+00:00', 'runtime': '576300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576361120 ms) 2026-01-06 12:21:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576380089 ms) 2026-01-06 12:21:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576380090 ms) 2026-01-06 12:21:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:20:40.710859+00:00'} (T+576380093 ms) 2026-01-06 12:21:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576420076 ms) 2026-01-06 12:21:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576420077 ms) 2026-01-06 12:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576420077 ms) 2026-01-06 12:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576420078 ms) 2026-01-06 12:21:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576421114 ms) 2026-01-06 12:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576421115 ms) 2026-01-06 12:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:21:40.710715+00:00', 'runtime': '576420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576421117 ms) 2026-01-06 12:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:20:40.710728+00:00', 'runtime': '576360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576421118 ms) 2026-01-06 12:22:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576440089 ms) 2026-01-06 12:22:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576440090 ms) 2026-01-06 12:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:21:40.710849+00:00'} (T+576440092 ms) 2026-01-06 12:22:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576480083 ms) 2026-01-06 12:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576480083 ms) 2026-01-06 12:22:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576480084 ms) 2026-01-06 12:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576480084 ms) 2026-01-06 12:22:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576481121 ms) 2026-01-06 12:22:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576481121 ms) 2026-01-06 12:22:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:22:40.710758+00:00', 'runtime': '576480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576481122 ms) 2026-01-06 12:22:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:21:40.710715+00:00', 'runtime': '576420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576481123 ms) 2026-01-06 12:23:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576500091 ms) 2026-01-06 12:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576500092 ms) 2026-01-06 12:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:22:40.710856+00:00'} (T+576500094 ms) 2026-01-06 12:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576540083 ms) 2026-01-06 12:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576540084 ms) 2026-01-06 12:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576540084 ms) 2026-01-06 12:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576540084 ms) 2026-01-06 12:23:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576541113 ms) 2026-01-06 12:23:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576541114 ms) 2026-01-06 12:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:23:40.710744+00:00', 'runtime': '576540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576541115 ms) 2026-01-06 12:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:22:40.710758+00:00', 'runtime': '576480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576541115 ms) 2026-01-06 12:24:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576560086 ms) 2026-01-06 12:24:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576560087 ms) 2026-01-06 12:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:23:40.710850+00:00'} (T+576560088 ms) 2026-01-06 12:24:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576600078 ms) 2026-01-06 12:24:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576600078 ms) 2026-01-06 12:24:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576600078 ms) 2026-01-06 12:24:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576600079 ms) 2026-01-06 12:24:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576601113 ms) 2026-01-06 12:24:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576601114 ms) 2026-01-06 12:24:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:24:40.710735+00:00', 'runtime': '576600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576601117 ms) 2026-01-06 12:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:23:40.710744+00:00', 'runtime': '576540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576601119 ms) 2026-01-06 12:25:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576620091 ms) 2026-01-06 12:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576620092 ms) 2026-01-06 12:25:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:24:40.713244+00:00'} (T+576620095 ms) 2026-01-06 12:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576660083 ms) 2026-01-06 12:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576660084 ms) 2026-01-06 12:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576660084 ms) 2026-01-06 12:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576660084 ms) 2026-01-06 12:25:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576661119 ms) 2026-01-06 12:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576661120 ms) 2026-01-06 12:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:25:40.710729+00:00', 'runtime': '576660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576661121 ms) 2026-01-06 12:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:24:40.710735+00:00', 'runtime': '576600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576661121 ms) 2026-01-06 12:26:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576680090 ms) 2026-01-06 12:26:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576680092 ms) 2026-01-06 12:26:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:25:40.710830+00:00'} (T+576680093 ms) 2026-01-06 12:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576720083 ms) 2026-01-06 12:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576720083 ms) 2026-01-06 12:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576720084 ms) 2026-01-06 12:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576720084 ms) 2026-01-06 12:26:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576721122 ms) 2026-01-06 12:26:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576721123 ms) 2026-01-06 12:26:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:26:40.710755+00:00', 'runtime': '576720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576721125 ms) 2026-01-06 12:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:25:40.710729+00:00', 'runtime': '576660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576721126 ms) 2026-01-06 12:27:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576740093 ms) 2026-01-06 12:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576740094 ms) 2026-01-06 12:27:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:26:40.713232+00:00'} (T+576740097 ms) 2026-01-06 12:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576780083 ms) 2026-01-06 12:27:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576780084 ms) 2026-01-06 12:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576780084 ms) 2026-01-06 12:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576780084 ms) 2026-01-06 12:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576781119 ms) 2026-01-06 12:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576781119 ms) 2026-01-06 12:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:27:40.710757+00:00', 'runtime': '576780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576781120 ms) 2026-01-06 12:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:26:40.710755+00:00', 'runtime': '576720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576781121 ms) 2026-01-06 12:28:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576800092 ms) 2026-01-06 12:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576800093 ms) 2026-01-06 12:28:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:27:40.713237+00:00'} (T+576800096 ms) 2026-01-06 12:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576840083 ms) 2026-01-06 12:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576840083 ms) 2026-01-06 12:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576840084 ms) 2026-01-06 12:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576840084 ms) 2026-01-06 12:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576841119 ms) 2026-01-06 12:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576841119 ms) 2026-01-06 12:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:28:40.710819+00:00', 'runtime': '576840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576841120 ms) 2026-01-06 12:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:27:40.710757+00:00', 'runtime': '576780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576841121 ms) 2026-01-06 12:29:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576860090 ms) 2026-01-06 12:29:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576860092 ms) 2026-01-06 12:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:28:40.710926+00:00'} (T+576860095 ms) 2026-01-06 12:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576900083 ms) 2026-01-06 12:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576900083 ms) 2026-01-06 12:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576900083 ms) 2026-01-06 12:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576900084 ms) 2026-01-06 12:29:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576901119 ms) 2026-01-06 12:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576901119 ms) 2026-01-06 12:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:29:40.710715+00:00', 'runtime': '576900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576901120 ms) 2026-01-06 12:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:28:40.710819+00:00', 'runtime': '576840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576901120 ms) 2026-01-06 12:30:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576920089 ms) 2026-01-06 12:30:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576920090 ms) 2026-01-06 12:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:29:40.710856+00:00'} (T+576920091 ms) 2026-01-06 12:30:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+576960077 ms) 2026-01-06 12:30:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+576960077 ms) 2026-01-06 12:30:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+576960077 ms) 2026-01-06 12:30:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+576960078 ms) 2026-01-06 12:30:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+576961114 ms) 2026-01-06 12:30:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+576961115 ms) 2026-01-06 12:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:30:40.710735+00:00', 'runtime': '576960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576961117 ms) 2026-01-06 12:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:29:40.710715+00:00', 'runtime': '576900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+576961118 ms) 2026-01-06 12:31:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576980085 ms) 2026-01-06 12:31:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+576980086 ms) 2026-01-06 12:31:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:30:40.710867+00:00'} (T+576980088 ms) 2026-01-06 12:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577020083 ms) 2026-01-06 12:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577020083 ms) 2026-01-06 12:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577020083 ms) 2026-01-06 12:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577020084 ms) 2026-01-06 12:31:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577021120 ms) 2026-01-06 12:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577021120 ms) 2026-01-06 12:31:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:31:40.710735+00:00', 'runtime': '577020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577021121 ms) 2026-01-06 12:31:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:30:40.710735+00:00', 'runtime': '576960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577021122 ms) 2026-01-06 12:32:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577040092 ms) 2026-01-06 12:32:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577040093 ms) 2026-01-06 12:32:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:31:40.713233+00:00'} (T+577040095 ms) 2026-01-06 12:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577080083 ms) 2026-01-06 12:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577080083 ms) 2026-01-06 12:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577080084 ms) 2026-01-06 12:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577080084 ms) 2026-01-06 12:32:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577081122 ms) 2026-01-06 12:32:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577081123 ms) 2026-01-06 12:32:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:32:40.710788+00:00', 'runtime': '577080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577081125 ms) 2026-01-06 12:32:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:31:40.710735+00:00', 'runtime': '577020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577081126 ms) 2026-01-06 12:33:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577100091 ms) 2026-01-06 12:33:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577100092 ms) 2026-01-06 12:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:32:40.710873+00:00'} (T+577100094 ms) 2026-01-06 12:33:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577140077 ms) 2026-01-06 12:33:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577140077 ms) 2026-01-06 12:33:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577140077 ms) 2026-01-06 12:33:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577140078 ms) 2026-01-06 12:33:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577141113 ms) 2026-01-06 12:33:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577141114 ms) 2026-01-06 12:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:33:40.710730+00:00', 'runtime': '577140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577141116 ms) 2026-01-06 12:33:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:32:40.710788+00:00', 'runtime': '577080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577141117 ms) 2026-01-06 12:34:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577160087 ms) 2026-01-06 12:34:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577160088 ms) 2026-01-06 12:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:33:40.710847+00:00'} (T+577160090 ms) 2026-01-06 12:34:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577200086 ms) 2026-01-06 12:34:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577200086 ms) 2026-01-06 12:34:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577200087 ms) 2026-01-06 12:34:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577200087 ms) 2026-01-06 12:34:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577201120 ms) 2026-01-06 12:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577201120 ms) 2026-01-06 12:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:34:40.713162+00:00', 'runtime': '577200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577201121 ms) 2026-01-06 12:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:33:40.710730+00:00', 'runtime': '577140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577201121 ms) 2026-01-06 12:35:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577220088 ms) 2026-01-06 12:35:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577220089 ms) 2026-01-06 12:35:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:34:40.710813+00:00'} (T+577220090 ms) 2026-01-06 12:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577260082 ms) 2026-01-06 12:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577260083 ms) 2026-01-06 12:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577260083 ms) 2026-01-06 12:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577260084 ms) 2026-01-06 12:35:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577261118 ms) 2026-01-06 12:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577261118 ms) 2026-01-06 12:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:35:40.710734+00:00', 'runtime': '577260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577261119 ms) 2026-01-06 12:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:34:40.713162+00:00', 'runtime': '577200.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577261119 ms) 2026-01-06 12:36:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577280087 ms) 2026-01-06 12:36:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577280088 ms) 2026-01-06 12:36:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:35:40.710836+00:00'} (T+577280091 ms) 2026-01-06 12:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577320083 ms) 2026-01-06 12:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577320083 ms) 2026-01-06 12:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577320083 ms) 2026-01-06 12:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577320084 ms) 2026-01-06 12:36:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577321124 ms) 2026-01-06 12:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577321125 ms) 2026-01-06 12:36:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:36:40.710767+00:00', 'runtime': '577320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577321127 ms) 2026-01-06 12:36:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:35:40.710734+00:00', 'runtime': '577260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577321128 ms) 2026-01-06 12:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577340090 ms) 2026-01-06 12:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577340092 ms) 2026-01-06 12:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:36:40.710864+00:00'} (T+577340095 ms) 2026-01-06 12:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577380083 ms) 2026-01-06 12:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577380083 ms) 2026-01-06 12:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577380084 ms) 2026-01-06 12:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577380084 ms) 2026-01-06 12:37:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577381116 ms) 2026-01-06 12:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577381117 ms) 2026-01-06 12:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:37:40.710711+00:00', 'runtime': '577380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577381118 ms) 2026-01-06 12:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:36:40.710767+00:00', 'runtime': '577320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577381118 ms) 2026-01-06 12:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577400090 ms) 2026-01-06 12:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577400091 ms) 2026-01-06 12:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:37:40.710830+00:00'} (T+577400093 ms) 2026-01-06 12:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577440082 ms) 2026-01-06 12:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577440083 ms) 2026-01-06 12:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577440083 ms) 2026-01-06 12:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577440083 ms) 2026-01-06 12:38:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577441118 ms) 2026-01-06 12:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577441119 ms) 2026-01-06 12:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:38:40.710735+00:00', 'runtime': '577440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577441120 ms) 2026-01-06 12:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:37:40.710711+00:00', 'runtime': '577380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577441120 ms) 2026-01-06 12:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577460090 ms) 2026-01-06 12:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577460091 ms) 2026-01-06 12:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:38:40.710850+00:00'} (T+577460094 ms) 2026-01-06 12:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577500083 ms) 2026-01-06 12:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577500084 ms) 2026-01-06 12:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577500084 ms) 2026-01-06 12:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577500084 ms) 2026-01-06 12:39:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577501117 ms) 2026-01-06 12:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577501117 ms) 2026-01-06 12:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:39:40.710731+00:00', 'runtime': '577500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577501118 ms) 2026-01-06 12:39:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:38:40.710735+00:00', 'runtime': '577440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577501119 ms) 2026-01-06 12:40:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577520085 ms) 2026-01-06 12:40:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577520086 ms) 2026-01-06 12:40:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:39:40.710838+00:00'} (T+577520087 ms) 2026-01-06 12:40:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577560083 ms) 2026-01-06 12:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577560084 ms) 2026-01-06 12:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577560084 ms) 2026-01-06 12:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577560084 ms) 2026-01-06 12:40:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577561118 ms) 2026-01-06 12:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577561118 ms) 2026-01-06 12:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:40:40.710774+00:00', 'runtime': '577560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577561120 ms) 2026-01-06 12:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:39:40.710731+00:00', 'runtime': '577500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577561121 ms) 2026-01-06 12:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577580088 ms) 2026-01-06 12:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577580089 ms) 2026-01-06 12:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:40:40.710872+00:00'} (T+577580092 ms) 2026-01-06 12:41:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577620084 ms) 2026-01-06 12:41:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577620085 ms) 2026-01-06 12:41:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577620085 ms) 2026-01-06 12:41:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577620086 ms) 2026-01-06 12:41:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577621113 ms) 2026-01-06 12:41:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577621114 ms) 2026-01-06 12:41:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:41:40.713169+00:00', 'runtime': '577620.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577621115 ms) 2026-01-06 12:41:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:40:40.710774+00:00', 'runtime': '577560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577621115 ms) 2026-01-06 12:42:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577640090 ms) 2026-01-06 12:42:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577640091 ms) 2026-01-06 12:42:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:41:40.710809+00:00'} (T+577640094 ms) 2026-01-06 12:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577680083 ms) 2026-01-06 12:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577680083 ms) 2026-01-06 12:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577680084 ms) 2026-01-06 12:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577680084 ms) 2026-01-06 12:42:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577681113 ms) 2026-01-06 12:42:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577681113 ms) 2026-01-06 12:42:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:42:40.710763+00:00', 'runtime': '577680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577681114 ms) 2026-01-06 12:42:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:41:40.713169+00:00', 'runtime': '577620.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577681115 ms) 2026-01-06 12:43:00.765 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577700086 ms) 2026-01-06 12:43:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577700087 ms) 2026-01-06 12:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:42:40.710848+00:00'} (T+577700090 ms) 2026-01-06 12:43:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577740076 ms) 2026-01-06 12:43:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577740077 ms) 2026-01-06 12:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577740077 ms) 2026-01-06 12:43:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577740077 ms) 2026-01-06 12:43:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577741112 ms) 2026-01-06 12:43:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577741113 ms) 2026-01-06 12:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:43:40.710745+00:00', 'runtime': '577740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577741116 ms) 2026-01-06 12:43:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:42:40.710763+00:00', 'runtime': '577680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577741117 ms) 2026-01-06 12:44:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577760087 ms) 2026-01-06 12:44:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577760088 ms) 2026-01-06 12:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:43:40.710803+00:00'} (T+577760091 ms) 2026-01-06 12:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577800083 ms) 2026-01-06 12:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577800084 ms) 2026-01-06 12:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577800084 ms) 2026-01-06 12:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577800085 ms) 2026-01-06 12:44:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577801117 ms) 2026-01-06 12:44:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577801118 ms) 2026-01-06 12:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:44:40.710714+00:00', 'runtime': '577800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577801119 ms) 2026-01-06 12:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:43:40.710745+00:00', 'runtime': '577740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577801119 ms) 2026-01-06 12:45:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577820088 ms) 2026-01-06 12:45:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577820089 ms) 2026-01-06 12:45:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:44:40.710845+00:00'} (T+577820090 ms) 2026-01-06 12:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577860083 ms) 2026-01-06 12:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577860084 ms) 2026-01-06 12:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577860084 ms) 2026-01-06 12:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577860084 ms) 2026-01-06 12:45:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577861124 ms) 2026-01-06 12:45:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577861125 ms) 2026-01-06 12:45:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:45:40.710769+00:00', 'runtime': '577860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577861127 ms) 2026-01-06 12:45:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:44:40.710714+00:00', 'runtime': '577800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577861128 ms) 2026-01-06 12:46:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577880092 ms) 2026-01-06 12:46:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577880094 ms) 2026-01-06 12:46:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:45:40.713251+00:00'} (T+577880097 ms) 2026-01-06 12:46:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577920083 ms) 2026-01-06 12:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577920083 ms) 2026-01-06 12:46:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577920083 ms) 2026-01-06 12:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577920084 ms) 2026-01-06 12:46:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577921121 ms) 2026-01-06 12:46:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577921122 ms) 2026-01-06 12:46:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:46:40.710754+00:00', 'runtime': '577920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577921124 ms) 2026-01-06 12:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:45:40.710769+00:00', 'runtime': '577860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577921125 ms) 2026-01-06 12:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577940090 ms) 2026-01-06 12:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+577940091 ms) 2026-01-06 12:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:46:40.710855+00:00'} (T+577940094 ms) 2026-01-06 12:47:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+577980077 ms) 2026-01-06 12:47:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+577980077 ms) 2026-01-06 12:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+577980078 ms) 2026-01-06 12:47:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+577980078 ms) 2026-01-06 12:47:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+577981113 ms) 2026-01-06 12:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+577981114 ms) 2026-01-06 12:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:47:40.710727+00:00', 'runtime': '577980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577981116 ms) 2026-01-06 12:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:46:40.710754+00:00', 'runtime': '577920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+577981117 ms) 2026-01-06 12:48:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578000090 ms) 2026-01-06 12:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578000091 ms) 2026-01-06 12:48:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:47:40.710851+00:00'} (T+578000094 ms) 2026-01-06 12:48:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578040085 ms) 2026-01-06 12:48:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578040085 ms) 2026-01-06 12:48:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578040086 ms) 2026-01-06 12:48:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578040086 ms) 2026-01-06 12:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578041119 ms) 2026-01-06 12:48:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578041119 ms) 2026-01-06 12:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:48:40.710738+00:00', 'runtime': '578040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578041120 ms) 2026-01-06 12:48:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:47:40.710727+00:00', 'runtime': '577980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578041121 ms) 2026-01-06 12:49:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578060090 ms) 2026-01-06 12:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578060091 ms) 2026-01-06 12:49:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:48:40.710817+00:00'} (T+578060094 ms) 2026-01-06 12:49:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578100077 ms) 2026-01-06 12:49:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578100077 ms) 2026-01-06 12:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578100078 ms) 2026-01-06 12:49:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578100078 ms) 2026-01-06 12:49:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578101113 ms) 2026-01-06 12:49:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578101114 ms) 2026-01-06 12:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:49:40.710726+00:00', 'runtime': '578100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578101116 ms) 2026-01-06 12:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:48:40.710738+00:00', 'runtime': '578040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578101117 ms) 2026-01-06 12:50:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578120088 ms) 2026-01-06 12:50:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578120089 ms) 2026-01-06 12:50:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:49:40.710853+00:00'} (T+578120092 ms) 2026-01-06 12:50:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578160077 ms) 2026-01-06 12:50:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578160078 ms) 2026-01-06 12:50:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578160078 ms) 2026-01-06 12:50:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578160078 ms) 2026-01-06 12:50:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578161113 ms) 2026-01-06 12:50:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578161114 ms) 2026-01-06 12:50:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:50:40.710736+00:00', 'runtime': '578160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578161116 ms) 2026-01-06 12:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:49:40.710726+00:00', 'runtime': '578100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578161117 ms) 2026-01-06 12:51:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578180091 ms) 2026-01-06 12:51:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578180092 ms) 2026-01-06 12:51:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:50:40.713241+00:00'} (T+578180097 ms) 2026-01-06 12:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578220082 ms) 2026-01-06 12:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578220083 ms) 2026-01-06 12:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578220083 ms) 2026-01-06 12:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578220084 ms) 2026-01-06 12:51:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578221116 ms) 2026-01-06 12:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578221116 ms) 2026-01-06 12:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:51:40.710676+00:00', 'runtime': '578220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578221117 ms) 2026-01-06 12:51:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:50:40.710736+00:00', 'runtime': '578160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578221118 ms) 2026-01-06 12:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578240090 ms) 2026-01-06 12:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578240091 ms) 2026-01-06 12:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:51:40.710788+00:00'} (T+578240094 ms) 2026-01-06 12:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578280083 ms) 2026-01-06 12:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578280083 ms) 2026-01-06 12:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578280083 ms) 2026-01-06 12:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578280084 ms) 2026-01-06 12:52:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578281119 ms) 2026-01-06 12:52:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578281119 ms) 2026-01-06 12:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:52:40.710769+00:00', 'runtime': '578280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578281120 ms) 2026-01-06 12:52:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:51:40.710676+00:00', 'runtime': '578220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578281120 ms) 2026-01-06 12:53:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578300087 ms) 2026-01-06 12:53:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578300088 ms) 2026-01-06 12:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:52:40.710850+00:00'} (T+578300091 ms) 2026-01-06 12:53:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578340076 ms) 2026-01-06 12:53:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578340077 ms) 2026-01-06 12:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578340077 ms) 2026-01-06 12:53:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578340077 ms) 2026-01-06 12:53:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578341115 ms) 2026-01-06 12:53:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578341116 ms) 2026-01-06 12:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:53:40.710729+00:00', 'runtime': '578340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578341118 ms) 2026-01-06 12:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:52:40.710769+00:00', 'runtime': '578280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578341119 ms) 2026-01-06 12:54:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578360085 ms) 2026-01-06 12:54:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578360086 ms) 2026-01-06 12:54:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:53:40.710834+00:00'} (T+578360089 ms) 2026-01-06 12:54:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578400084 ms) 2026-01-06 12:54:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578400084 ms) 2026-01-06 12:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578400084 ms) 2026-01-06 12:54:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578400085 ms) 2026-01-06 12:54:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578401113 ms) 2026-01-06 12:54:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578401113 ms) 2026-01-06 12:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:54:40.710753+00:00', 'runtime': '578400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578401114 ms) 2026-01-06 12:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:53:40.710729+00:00', 'runtime': '578340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578401114 ms) 2026-01-06 12:55:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578420091 ms) 2026-01-06 12:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578420092 ms) 2026-01-06 12:55:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:54:40.713235+00:00'} (T+578420093 ms) 2026-01-06 12:55:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578460082 ms) 2026-01-06 12:55:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578460083 ms) 2026-01-06 12:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578460083 ms) 2026-01-06 12:55:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578460084 ms) 2026-01-06 12:55:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578461119 ms) 2026-01-06 12:55:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578461119 ms) 2026-01-06 12:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:55:40.710722+00:00', 'runtime': '578460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578461120 ms) 2026-01-06 12:55:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:54:40.710753+00:00', 'runtime': '578400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578461121 ms) 2026-01-06 12:56:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578480091 ms) 2026-01-06 12:56:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578480092 ms) 2026-01-06 12:56:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:55:40.710875+00:00'} (T+578480094 ms) 2026-01-06 12:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578520082 ms) 2026-01-06 12:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578520083 ms) 2026-01-06 12:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578520083 ms) 2026-01-06 12:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578520084 ms) 2026-01-06 12:56:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578521122 ms) 2026-01-06 12:56:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578521123 ms) 2026-01-06 12:56:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:56:40.710770+00:00', 'runtime': '578520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578521125 ms) 2026-01-06 12:56:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:55:40.710722+00:00', 'runtime': '578460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578521126 ms) 2026-01-06 12:57:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578540088 ms) 2026-01-06 12:57:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578540090 ms) 2026-01-06 12:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:56:40.710825+00:00'} (T+578540092 ms) 2026-01-06 12:57:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578580081 ms) 2026-01-06 12:57:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578580081 ms) 2026-01-06 12:57:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578580082 ms) 2026-01-06 12:57:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578580082 ms) 2026-01-06 12:57:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578581116 ms) 2026-01-06 12:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578581117 ms) 2026-01-06 12:57:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:57:40.710686+00:00', 'runtime': '578580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578581119 ms) 2026-01-06 12:57:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:56:40.710770+00:00', 'runtime': '578520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578581120 ms) 2026-01-06 12:58:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578600088 ms) 2026-01-06 12:58:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578600089 ms) 2026-01-06 12:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:57:40.710822+00:00'} (T+578600092 ms) 2026-01-06 12:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578640082 ms) 2026-01-06 12:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578640083 ms) 2026-01-06 12:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578640083 ms) 2026-01-06 12:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578640083 ms) 2026-01-06 12:58:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578641119 ms) 2026-01-06 12:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578641120 ms) 2026-01-06 12:58:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:58:40.710727+00:00', 'runtime': '578640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578641122 ms) 2026-01-06 12:58:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:57:40.710686+00:00', 'runtime': '578580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578641122 ms) 2026-01-06 12:59:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578660090 ms) 2026-01-06 12:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578660091 ms) 2026-01-06 12:59:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:58:40.710851+00:00'} (T+578660093 ms) 2026-01-06 12:59:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578700083 ms) 2026-01-06 12:59:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578700084 ms) 2026-01-06 12:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578700084 ms) 2026-01-06 12:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578700084 ms) 2026-01-06 12:59:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578701124 ms) 2026-01-06 12:59:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578701125 ms) 2026-01-06 12:59:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 12:59:40.710751+00:00', 'runtime': '578700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578701127 ms) 2026-01-06 12:59:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:58:40.710727+00:00', 'runtime': '578640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578701128 ms) 2026-01-06 13:00:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578720091 ms) 2026-01-06 13:00:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578720092 ms) 2026-01-06 13:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 12:59:40.713233+00:00'} (T+578720092 ms) 2026-01-06 13:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578760083 ms) 2026-01-06 13:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578760083 ms) 2026-01-06 13:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578760084 ms) 2026-01-06 13:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578760084 ms) 2026-01-06 13:00:41.804 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578761126 ms) 2026-01-06 13:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578761127 ms) 2026-01-06 13:00:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:00:40.710745+00:00', 'runtime': '578760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578761129 ms) 2026-01-06 13:00:41.809 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 12:59:40.710751+00:00', 'runtime': '578700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578761130 ms) 2026-01-06 13:01:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578780087 ms) 2026-01-06 13:01:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578780088 ms) 2026-01-06 13:01:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:00:40.710867+00:00'} (T+578780090 ms) 2026-01-06 13:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578820083 ms) 2026-01-06 13:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578820083 ms) 2026-01-06 13:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578820083 ms) 2026-01-06 13:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578820084 ms) 2026-01-06 13:01:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578821118 ms) 2026-01-06 13:01:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578821119 ms) 2026-01-06 13:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:01:40.710764+00:00', 'runtime': '578820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578821120 ms) 2026-01-06 13:01:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:00:40.710745+00:00', 'runtime': '578760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578821120 ms) 2026-01-06 13:02:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578840089 ms) 2026-01-06 13:02:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578840089 ms) 2026-01-06 13:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:01:40.713250+00:00'} (T+578840092 ms) 2026-01-06 13:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578880083 ms) 2026-01-06 13:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578880084 ms) 2026-01-06 13:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578880084 ms) 2026-01-06 13:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578880084 ms) 2026-01-06 13:02:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578881117 ms) 2026-01-06 13:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578881117 ms) 2026-01-06 13:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:02:40.710817+00:00', 'runtime': '578880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578881118 ms) 2026-01-06 13:02:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:01:40.710764+00:00', 'runtime': '578820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578881119 ms) 2026-01-06 13:03:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578900090 ms) 2026-01-06 13:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578900091 ms) 2026-01-06 13:03:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:02:40.710848+00:00'} (T+578900094 ms) 2026-01-06 13:03:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+578940083 ms) 2026-01-06 13:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+578940083 ms) 2026-01-06 13:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+578940084 ms) 2026-01-06 13:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+578940084 ms) 2026-01-06 13:03:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+578941117 ms) 2026-01-06 13:03:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+578941117 ms) 2026-01-06 13:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:03:40.710732+00:00', 'runtime': '578940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578941118 ms) 2026-01-06 13:03:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:02:40.710817+00:00', 'runtime': '578880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+578941118 ms) 2026-01-06 13:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578960090 ms) 2026-01-06 13:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+578960091 ms) 2026-01-06 13:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:03:40.710857+00:00'} (T+578960094 ms) 2026-01-06 13:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579000083 ms) 2026-01-06 13:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579000083 ms) 2026-01-06 13:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579000084 ms) 2026-01-06 13:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579000084 ms) 2026-01-06 13:04:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579001119 ms) 2026-01-06 13:04:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579001119 ms) 2026-01-06 13:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:04:40.710755+00:00', 'runtime': '579000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579001120 ms) 2026-01-06 13:04:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:03:40.710732+00:00', 'runtime': '578940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579001121 ms) 2026-01-06 13:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579020090 ms) 2026-01-06 13:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579020091 ms) 2026-01-06 13:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:04:40.710851+00:00'} (T+579020094 ms) 2026-01-06 13:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579060083 ms) 2026-01-06 13:05:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579060084 ms) 2026-01-06 13:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579060084 ms) 2026-01-06 13:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579060084 ms) 2026-01-06 13:05:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579061124 ms) 2026-01-06 13:05:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579061125 ms) 2026-01-06 13:05:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:05:40.710766+00:00', 'runtime': '579060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579061127 ms) 2026-01-06 13:05:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:04:40.710755+00:00', 'runtime': '579000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579061128 ms) 2026-01-06 13:06:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579080092 ms) 2026-01-06 13:06:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579080094 ms) 2026-01-06 13:06:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:05:40.713250+00:00'} (T+579080096 ms) 2026-01-06 13:06:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579120083 ms) 2026-01-06 13:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579120083 ms) 2026-01-06 13:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579120084 ms) 2026-01-06 13:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579120084 ms) 2026-01-06 13:06:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579121124 ms) 2026-01-06 13:06:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579121125 ms) 2026-01-06 13:06:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:06:40.710734+00:00', 'runtime': '579120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579121127 ms) 2026-01-06 13:06:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:05:40.710766+00:00', 'runtime': '579060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579121128 ms) 2026-01-06 13:07:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579140090 ms) 2026-01-06 13:07:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579140091 ms) 2026-01-06 13:07:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:06:40.710853+00:00'} (T+579140094 ms) 2026-01-06 13:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579180082 ms) 2026-01-06 13:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579180083 ms) 2026-01-06 13:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579180083 ms) 2026-01-06 13:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579180084 ms) 2026-01-06 13:07:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579181120 ms) 2026-01-06 13:07:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579181120 ms) 2026-01-06 13:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:07:40.710684+00:00', 'runtime': '579180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579181121 ms) 2026-01-06 13:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:06:40.710734+00:00', 'runtime': '579120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579181121 ms) 2026-01-06 13:08:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579200088 ms) 2026-01-06 13:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579200089 ms) 2026-01-06 13:08:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:07:40.710868+00:00'} (T+579200092 ms) 2026-01-06 13:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579240083 ms) 2026-01-06 13:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579240084 ms) 2026-01-06 13:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579240084 ms) 2026-01-06 13:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579240084 ms) 2026-01-06 13:08:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579241112 ms) 2026-01-06 13:08:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579241113 ms) 2026-01-06 13:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:08:40.710728+00:00', 'runtime': '579240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579241114 ms) 2026-01-06 13:08:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:07:40.710684+00:00', 'runtime': '579180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579241114 ms) 2026-01-06 13:09:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579260093 ms) 2026-01-06 13:09:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579260095 ms) 2026-01-06 13:09:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:08:40.713229+00:00'} (T+579260098 ms) 2026-01-06 13:09:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579300077 ms) 2026-01-06 13:09:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579300077 ms) 2026-01-06 13:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579300077 ms) 2026-01-06 13:09:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579300078 ms) 2026-01-06 13:09:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579301112 ms) 2026-01-06 13:09:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579301113 ms) 2026-01-06 13:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:09:40.710734+00:00', 'runtime': '579300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579301116 ms) 2026-01-06 13:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:08:40.710728+00:00', 'runtime': '579240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579301117 ms) 2026-01-06 13:10:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579320090 ms) 2026-01-06 13:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579320092 ms) 2026-01-06 13:10:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:09:40.713232+00:00'} (T+579320095 ms) 2026-01-06 13:10:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579360082 ms) 2026-01-06 13:10:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579360083 ms) 2026-01-06 13:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579360083 ms) 2026-01-06 13:10:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579360084 ms) 2026-01-06 13:10:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579361119 ms) 2026-01-06 13:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579361119 ms) 2026-01-06 13:10:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:10:40.710783+00:00', 'runtime': '579360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579361121 ms) 2026-01-06 13:10:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:09:40.710734+00:00', 'runtime': '579300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579361121 ms) 2026-01-06 13:11:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579380090 ms) 2026-01-06 13:11:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579380091 ms) 2026-01-06 13:11:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:10:40.710875+00:00'} (T+579380094 ms) 2026-01-06 13:11:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579420084 ms) 2026-01-06 13:11:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579420084 ms) 2026-01-06 13:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579420085 ms) 2026-01-06 13:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579420085 ms) 2026-01-06 13:11:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579421116 ms) 2026-01-06 13:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579421117 ms) 2026-01-06 13:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:11:40.710718+00:00', 'runtime': '579420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579421118 ms) 2026-01-06 13:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:10:40.710783+00:00', 'runtime': '579360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579421119 ms) 2026-01-06 13:12:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579440090 ms) 2026-01-06 13:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579440092 ms) 2026-01-06 13:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:11:40.710829+00:00'} (T+579440093 ms) 2026-01-06 13:12:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579480085 ms) 2026-01-06 13:12:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579480085 ms) 2026-01-06 13:12:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579480085 ms) 2026-01-06 13:12:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579480086 ms) 2026-01-06 13:12:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579481120 ms) 2026-01-06 13:12:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579481121 ms) 2026-01-06 13:12:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:12:40.713160+00:00', 'runtime': '579480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579481122 ms) 2026-01-06 13:12:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:11:40.710718+00:00', 'runtime': '579420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579481123 ms) 2026-01-06 13:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579500090 ms) 2026-01-06 13:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579500092 ms) 2026-01-06 13:13:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:12:40.710842+00:00'} (T+579500094 ms) 2026-01-06 13:13:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579540082 ms) 2026-01-06 13:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579540083 ms) 2026-01-06 13:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579540083 ms) 2026-01-06 13:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579540083 ms) 2026-01-06 13:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579541116 ms) 2026-01-06 13:13:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579541116 ms) 2026-01-06 13:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:13:40.710729+00:00', 'runtime': '579540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579541117 ms) 2026-01-06 13:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:12:40.713160+00:00', 'runtime': '579480.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579541118 ms) 2026-01-06 13:14:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579560091 ms) 2026-01-06 13:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579560092 ms) 2026-01-06 13:14:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:13:40.713232+00:00'} (T+579560094 ms) 2026-01-06 13:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579600083 ms) 2026-01-06 13:14:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579600083 ms) 2026-01-06 13:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579600084 ms) 2026-01-06 13:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579600084 ms) 2026-01-06 13:14:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579601112 ms) 2026-01-06 13:14:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579601112 ms) 2026-01-06 13:14:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:14:40.710758+00:00', 'runtime': '579600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579601113 ms) 2026-01-06 13:14:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:13:40.710729+00:00', 'runtime': '579540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579601114 ms) 2026-01-06 13:15:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579620091 ms) 2026-01-06 13:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579620092 ms) 2026-01-06 13:15:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:14:40.710857+00:00'} (T+579620095 ms) 2026-01-06 13:15:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579660083 ms) 2026-01-06 13:15:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579660084 ms) 2026-01-06 13:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579660084 ms) 2026-01-06 13:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579660084 ms) 2026-01-06 13:15:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579661123 ms) 2026-01-06 13:15:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579661124 ms) 2026-01-06 13:15:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:15:40.710730+00:00', 'runtime': '579660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579661126 ms) 2026-01-06 13:15:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:14:40.710758+00:00', 'runtime': '579600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579661127 ms) 2026-01-06 13:16:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579680091 ms) 2026-01-06 13:16:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579680092 ms) 2026-01-06 13:16:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:15:40.710857+00:00'} (T+579680095 ms) 2026-01-06 13:16:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579720076 ms) 2026-01-06 13:16:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579720077 ms) 2026-01-06 13:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579720077 ms) 2026-01-06 13:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579720077 ms) 2026-01-06 13:16:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579721112 ms) 2026-01-06 13:16:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579721113 ms) 2026-01-06 13:16:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:16:40.710706+00:00', 'runtime': '579720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579721115 ms) 2026-01-06 13:16:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:15:40.710730+00:00', 'runtime': '579660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579721116 ms) 2026-01-06 13:17:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579740087 ms) 2026-01-06 13:17:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579740088 ms) 2026-01-06 13:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:16:40.710853+00:00'} (T+579740091 ms) 2026-01-06 13:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579780082 ms) 2026-01-06 13:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579780083 ms) 2026-01-06 13:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579780083 ms) 2026-01-06 13:17:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579780084 ms) 2026-01-06 13:17:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579781122 ms) 2026-01-06 13:17:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579781123 ms) 2026-01-06 13:17:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:17:40.710752+00:00', 'runtime': '579780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579781125 ms) 2026-01-06 13:17:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:16:40.710706+00:00', 'runtime': '579720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579781126 ms) 2026-01-06 13:18:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579800090 ms) 2026-01-06 13:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579800091 ms) 2026-01-06 13:18:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:17:40.710863+00:00'} (T+579800094 ms) 2026-01-06 13:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579840083 ms) 2026-01-06 13:18:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579840084 ms) 2026-01-06 13:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579840084 ms) 2026-01-06 13:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579840085 ms) 2026-01-06 13:18:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579841119 ms) 2026-01-06 13:18:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579841119 ms) 2026-01-06 13:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:18:40.710720+00:00', 'runtime': '579840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579841120 ms) 2026-01-06 13:18:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:17:40.710752+00:00', 'runtime': '579780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579841120 ms) 2026-01-06 13:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579860090 ms) 2026-01-06 13:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579860091 ms) 2026-01-06 13:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:18:40.710862+00:00'} (T+579860094 ms) 2026-01-06 13:19:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579900083 ms) 2026-01-06 13:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579900083 ms) 2026-01-06 13:19:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579900083 ms) 2026-01-06 13:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579900084 ms) 2026-01-06 13:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579901119 ms) 2026-01-06 13:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579901119 ms) 2026-01-06 13:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:19:40.710809+00:00', 'runtime': '579900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579901120 ms) 2026-01-06 13:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:18:40.710720+00:00', 'runtime': '579840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579901121 ms) 2026-01-06 13:20:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579920088 ms) 2026-01-06 13:20:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579920089 ms) 2026-01-06 13:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:19:40.710891+00:00'} (T+579920092 ms) 2026-01-06 13:20:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+579960083 ms) 2026-01-06 13:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+579960083 ms) 2026-01-06 13:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+579960084 ms) 2026-01-06 13:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+579960084 ms) 2026-01-06 13:20:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+579961119 ms) 2026-01-06 13:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+579961120 ms) 2026-01-06 13:20:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:20:40.710723+00:00', 'runtime': '579960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579961121 ms) 2026-01-06 13:20:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:19:40.710809+00:00', 'runtime': '579900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+579961121 ms) 2026-01-06 13:21:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579980090 ms) 2026-01-06 13:21:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+579980092 ms) 2026-01-06 13:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:20:40.710847+00:00'} (T+579980094 ms) 2026-01-06 13:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580020083 ms) 2026-01-06 13:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580020083 ms) 2026-01-06 13:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580020083 ms) 2026-01-06 13:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580020084 ms) 2026-01-06 13:21:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580021116 ms) 2026-01-06 13:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580021117 ms) 2026-01-06 13:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:21:40.710733+00:00', 'runtime': '580020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580021118 ms) 2026-01-06 13:21:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:20:40.710723+00:00', 'runtime': '579960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580021118 ms) 2026-01-06 13:22:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580040088 ms) 2026-01-06 13:22:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580040089 ms) 2026-01-06 13:22:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:21:40.710870+00:00'} (T+580040092 ms) 2026-01-06 13:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580080083 ms) 2026-01-06 13:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580080084 ms) 2026-01-06 13:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580080084 ms) 2026-01-06 13:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580080084 ms) 2026-01-06 13:22:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580081119 ms) 2026-01-06 13:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580081119 ms) 2026-01-06 13:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:22:40.710759+00:00', 'runtime': '580080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580081120 ms) 2026-01-06 13:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:21:40.710733+00:00', 'runtime': '580020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580081120 ms) 2026-01-06 13:23:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580100088 ms) 2026-01-06 13:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580100089 ms) 2026-01-06 13:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:22:40.710844+00:00'} (T+580100092 ms) 2026-01-06 13:23:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580140083 ms) 2026-01-06 13:23:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580140083 ms) 2026-01-06 13:23:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580140084 ms) 2026-01-06 13:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580140084 ms) 2026-01-06 13:23:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580141119 ms) 2026-01-06 13:23:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580141120 ms) 2026-01-06 13:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:23:40.710754+00:00', 'runtime': '580140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580141121 ms) 2026-01-06 13:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:22:40.710759+00:00', 'runtime': '580080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580141121 ms) 2026-01-06 13:24:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580160090 ms) 2026-01-06 13:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580160091 ms) 2026-01-06 13:24:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:23:40.710854+00:00'} (T+580160093 ms) 2026-01-06 13:24:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580200078 ms) 2026-01-06 13:24:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580200078 ms) 2026-01-06 13:24:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580200078 ms) 2026-01-06 13:24:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580200079 ms) 2026-01-06 13:24:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580201115 ms) 2026-01-06 13:24:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580201116 ms) 2026-01-06 13:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:24:40.710728+00:00', 'runtime': '580200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580201119 ms) 2026-01-06 13:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:23:40.710754+00:00', 'runtime': '580140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580201120 ms) 2026-01-06 13:25:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580220084 ms) 2026-01-06 13:25:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580220085 ms) 2026-01-06 13:25:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:24:40.710849+00:00'} (T+580220088 ms) 2026-01-06 13:25:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580260084 ms) 2026-01-06 13:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580260084 ms) 2026-01-06 13:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580260085 ms) 2026-01-06 13:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580260085 ms) 2026-01-06 13:25:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580261118 ms) 2026-01-06 13:25:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580261118 ms) 2026-01-06 13:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:25:40.710691+00:00', 'runtime': '580260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580261119 ms) 2026-01-06 13:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:24:40.710728+00:00', 'runtime': '580200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580261120 ms) 2026-01-06 13:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580280087 ms) 2026-01-06 13:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580280088 ms) 2026-01-06 13:26:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:25:40.710840+00:00'} (T+580280090 ms) 2026-01-06 13:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580320083 ms) 2026-01-06 13:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580320084 ms) 2026-01-06 13:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580320084 ms) 2026-01-06 13:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580320084 ms) 2026-01-06 13:26:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580321113 ms) 2026-01-06 13:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580321114 ms) 2026-01-06 13:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:26:40.710703+00:00', 'runtime': '580320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580321115 ms) 2026-01-06 13:26:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:25:40.710691+00:00', 'runtime': '580260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580321115 ms) 2026-01-06 13:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580340090 ms) 2026-01-06 13:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580340091 ms) 2026-01-06 13:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:26:40.710857+00:00'} (T+580340094 ms) 2026-01-06 13:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580380083 ms) 2026-01-06 13:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580380083 ms) 2026-01-06 13:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580380084 ms) 2026-01-06 13:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580380084 ms) 2026-01-06 13:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580381119 ms) 2026-01-06 13:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580381120 ms) 2026-01-06 13:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:27:40.710776+00:00', 'runtime': '580380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580381121 ms) 2026-01-06 13:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:26:40.710703+00:00', 'runtime': '580320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580381121 ms) 2026-01-06 13:28:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580400093 ms) 2026-01-06 13:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580400095 ms) 2026-01-06 13:28:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:27:40.713249+00:00'} (T+580400096 ms) 2026-01-06 13:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580440083 ms) 2026-01-06 13:28:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580440084 ms) 2026-01-06 13:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580440084 ms) 2026-01-06 13:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580440084 ms) 2026-01-06 13:28:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580441122 ms) 2026-01-06 13:28:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580441122 ms) 2026-01-06 13:28:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:28:40.710857+00:00', 'runtime': '580440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580441124 ms) 2026-01-06 13:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:27:40.710776+00:00', 'runtime': '580380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580441125 ms) 2026-01-06 13:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580460091 ms) 2026-01-06 13:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580460092 ms) 2026-01-06 13:29:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:28:40.710887+00:00'} (T+580460095 ms) 2026-01-06 13:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580500083 ms) 2026-01-06 13:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580500083 ms) 2026-01-06 13:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580500083 ms) 2026-01-06 13:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580500084 ms) 2026-01-06 13:29:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580501123 ms) 2026-01-06 13:29:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580501124 ms) 2026-01-06 13:29:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:29:40.710771+00:00', 'runtime': '580500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580501126 ms) 2026-01-06 13:29:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:28:40.710857+00:00', 'runtime': '580440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580501127 ms) 2026-01-06 13:30:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580520091 ms) 2026-01-06 13:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580520092 ms) 2026-01-06 13:30:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:29:40.710858+00:00'} (T+580520094 ms) 2026-01-06 13:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580560082 ms) 2026-01-06 13:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580560083 ms) 2026-01-06 13:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580560083 ms) 2026-01-06 13:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580560084 ms) 2026-01-06 13:30:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580561113 ms) 2026-01-06 13:30:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580561113 ms) 2026-01-06 13:30:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:30:40.710693+00:00', 'runtime': '580560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580561114 ms) 2026-01-06 13:30:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:29:40.710771+00:00', 'runtime': '580500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580561115 ms) 2026-01-06 13:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580580090 ms) 2026-01-06 13:31:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580580091 ms) 2026-01-06 13:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:30:40.710842+00:00'} (T+580580094 ms) 2026-01-06 13:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580620083 ms) 2026-01-06 13:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580620083 ms) 2026-01-06 13:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580620084 ms) 2026-01-06 13:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580620084 ms) 2026-01-06 13:31:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580621122 ms) 2026-01-06 13:31:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580621123 ms) 2026-01-06 13:31:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:31:40.710784+00:00', 'runtime': '580620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580621125 ms) 2026-01-06 13:31:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:30:40.710693+00:00', 'runtime': '580560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580621126 ms) 2026-01-06 13:32:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580640088 ms) 2026-01-06 13:32:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580640089 ms) 2026-01-06 13:32:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:31:40.710865+00:00'} (T+580640093 ms) 2026-01-06 13:32:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580680083 ms) 2026-01-06 13:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580680083 ms) 2026-01-06 13:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580680084 ms) 2026-01-06 13:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580680084 ms) 2026-01-06 13:32:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580681116 ms) 2026-01-06 13:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580681117 ms) 2026-01-06 13:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:32:40.710725+00:00', 'runtime': '580680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580681118 ms) 2026-01-06 13:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:31:40.710784+00:00', 'runtime': '580620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580681118 ms) 2026-01-06 13:33:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580700087 ms) 2026-01-06 13:33:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580700088 ms) 2026-01-06 13:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:32:40.710856+00:00'} (T+580700091 ms) 2026-01-06 13:33:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580740077 ms) 2026-01-06 13:33:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580740078 ms) 2026-01-06 13:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580740078 ms) 2026-01-06 13:33:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580740078 ms) 2026-01-06 13:33:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580741115 ms) 2026-01-06 13:33:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580741116 ms) 2026-01-06 13:33:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:33:40.710738+00:00', 'runtime': '580740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580741118 ms) 2026-01-06 13:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:32:40.710725+00:00', 'runtime': '580680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580741119 ms) 2026-01-06 13:34:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580760085 ms) 2026-01-06 13:34:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580760086 ms) 2026-01-06 13:34:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:33:40.713235+00:00'} (T+580760089 ms) 2026-01-06 13:34:40.765 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580800086 ms) 2026-01-06 13:34:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580800087 ms) 2026-01-06 13:34:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580800087 ms) 2026-01-06 13:34:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580800087 ms) 2026-01-06 13:34:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580801120 ms) 2026-01-06 13:34:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580801121 ms) 2026-01-06 13:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:34:40.713159+00:00', 'runtime': '580800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580801122 ms) 2026-01-06 13:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:33:40.710738+00:00', 'runtime': '580740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580801122 ms) 2026-01-06 13:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580820090 ms) 2026-01-06 13:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580820092 ms) 2026-01-06 13:35:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:34:40.710787+00:00'} (T+580820095 ms) 2026-01-06 13:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580860082 ms) 2026-01-06 13:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580860083 ms) 2026-01-06 13:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580860083 ms) 2026-01-06 13:35:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580860084 ms) 2026-01-06 13:35:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580861116 ms) 2026-01-06 13:35:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580861116 ms) 2026-01-06 13:35:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:35:40.710714+00:00', 'runtime': '580860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580861117 ms) 2026-01-06 13:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:34:40.713159+00:00', 'runtime': '580800.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580861118 ms) 2026-01-06 13:36:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580880092 ms) 2026-01-06 13:36:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580880093 ms) 2026-01-06 13:36:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:35:40.710868+00:00'} (T+580880096 ms) 2026-01-06 13:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580920083 ms) 2026-01-06 13:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580920083 ms) 2026-01-06 13:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580920084 ms) 2026-01-06 13:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580920084 ms) 2026-01-06 13:36:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580921122 ms) 2026-01-06 13:36:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580921123 ms) 2026-01-06 13:36:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:36:40.710794+00:00', 'runtime': '580920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580921125 ms) 2026-01-06 13:36:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:35:40.710714+00:00', 'runtime': '580860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580921126 ms) 2026-01-06 13:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580940090 ms) 2026-01-06 13:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+580940092 ms) 2026-01-06 13:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:36:40.710884+00:00'} (T+580940095 ms) 2026-01-06 13:37:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+580980083 ms) 2026-01-06 13:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+580980083 ms) 2026-01-06 13:37:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+580980083 ms) 2026-01-06 13:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+580980084 ms) 2026-01-06 13:37:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+580981121 ms) 2026-01-06 13:37:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+580981122 ms) 2026-01-06 13:37:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:37:40.710759+00:00', 'runtime': '580980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580981125 ms) 2026-01-06 13:37:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:36:40.710794+00:00', 'runtime': '580920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+580981125 ms) 2026-01-06 13:38:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581000091 ms) 2026-01-06 13:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581000092 ms) 2026-01-06 13:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:37:40.710855+00:00'} (T+581000094 ms) 2026-01-06 13:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581040082 ms) 2026-01-06 13:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581040083 ms) 2026-01-06 13:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581040083 ms) 2026-01-06 13:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581040084 ms) 2026-01-06 13:38:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581041119 ms) 2026-01-06 13:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581041119 ms) 2026-01-06 13:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:38:40.710756+00:00', 'runtime': '581040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581041120 ms) 2026-01-06 13:38:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:37:40.710759+00:00', 'runtime': '580980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581041121 ms) 2026-01-06 13:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581060091 ms) 2026-01-06 13:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581060092 ms) 2026-01-06 13:39:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:38:40.710869+00:00'} (T+581060094 ms) 2026-01-06 13:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581100083 ms) 2026-01-06 13:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581100084 ms) 2026-01-06 13:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581100084 ms) 2026-01-06 13:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581100084 ms) 2026-01-06 13:39:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581101117 ms) 2026-01-06 13:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581101117 ms) 2026-01-06 13:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:39:40.710707+00:00', 'runtime': '581100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581101118 ms) 2026-01-06 13:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:38:40.710756+00:00', 'runtime': '581040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581101119 ms) 2026-01-06 13:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581120090 ms) 2026-01-06 13:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581120091 ms) 2026-01-06 13:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:39:40.710830+00:00'} (T+581120094 ms) 2026-01-06 13:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581160082 ms) 2026-01-06 13:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581160083 ms) 2026-01-06 13:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581160083 ms) 2026-01-06 13:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581160084 ms) 2026-01-06 13:40:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581161115 ms) 2026-01-06 13:40:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581161115 ms) 2026-01-06 13:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:40:40.710760+00:00', 'runtime': '581160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581161116 ms) 2026-01-06 13:40:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:39:40.710707+00:00', 'runtime': '581100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581161116 ms) 2026-01-06 13:41:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581180090 ms) 2026-01-06 13:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581180092 ms) 2026-01-06 13:41:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:40:40.710864+00:00'} (T+581180094 ms) 2026-01-06 13:41:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581220085 ms) 2026-01-06 13:41:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581220085 ms) 2026-01-06 13:41:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581220086 ms) 2026-01-06 13:41:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581220086 ms) 2026-01-06 13:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581221118 ms) 2026-01-06 13:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581221119 ms) 2026-01-06 13:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:41:40.713167+00:00', 'runtime': '581220.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581221120 ms) 2026-01-06 13:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:40:40.710760+00:00', 'runtime': '581160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581221120 ms) 2026-01-06 13:42:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581240089 ms) 2026-01-06 13:42:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581240090 ms) 2026-01-06 13:42:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:41:40.710851+00:00'} (T+581240093 ms) 2026-01-06 13:42:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581280085 ms) 2026-01-06 13:42:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581280085 ms) 2026-01-06 13:42:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581280085 ms) 2026-01-06 13:42:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581280086 ms) 2026-01-06 13:42:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581281118 ms) 2026-01-06 13:42:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581281119 ms) 2026-01-06 13:42:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:42:40.713183+00:00', 'runtime': '581280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581281120 ms) 2026-01-06 13:42:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:41:40.713167+00:00', 'runtime': '581220.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581281120 ms) 2026-01-06 13:43:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581300089 ms) 2026-01-06 13:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581300090 ms) 2026-01-06 13:43:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:42:40.710863+00:00'} (T+581300093 ms) 2026-01-06 13:43:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581340078 ms) 2026-01-06 13:43:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581340079 ms) 2026-01-06 13:43:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581340079 ms) 2026-01-06 13:43:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581340079 ms) 2026-01-06 13:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581341117 ms) 2026-01-06 13:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581341118 ms) 2026-01-06 13:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:43:40.710748+00:00', 'runtime': '581340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581341121 ms) 2026-01-06 13:43:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:42:40.713183+00:00', 'runtime': '581280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581341121 ms) 2026-01-06 13:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581360090 ms) 2026-01-06 13:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581360091 ms) 2026-01-06 13:44:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:43:40.713245+00:00'} (T+581360094 ms) 2026-01-06 13:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581400082 ms) 2026-01-06 13:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581400083 ms) 2026-01-06 13:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581400083 ms) 2026-01-06 13:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581400084 ms) 2026-01-06 13:44:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581401117 ms) 2026-01-06 13:44:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581401117 ms) 2026-01-06 13:44:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:44:40.710720+00:00', 'runtime': '581400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581401118 ms) 2026-01-06 13:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:43:40.710748+00:00', 'runtime': '581340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581401119 ms) 2026-01-06 13:45:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581420088 ms) 2026-01-06 13:45:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581420089 ms) 2026-01-06 13:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:44:40.710840+00:00'} (T+581420092 ms) 2026-01-06 13:45:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581460083 ms) 2026-01-06 13:45:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581460084 ms) 2026-01-06 13:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581460084 ms) 2026-01-06 13:45:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581460084 ms) 2026-01-06 13:45:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581461117 ms) 2026-01-06 13:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581461117 ms) 2026-01-06 13:45:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:45:40.710742+00:00', 'runtime': '581460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581461118 ms) 2026-01-06 13:45:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:44:40.710720+00:00', 'runtime': '581400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581461119 ms) 2026-01-06 13:46:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581480091 ms) 2026-01-06 13:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581480092 ms) 2026-01-06 13:46:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:45:40.710848+00:00'} (T+581480094 ms) 2026-01-06 13:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581520083 ms) 2026-01-06 13:46:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581520084 ms) 2026-01-06 13:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581520084 ms) 2026-01-06 13:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581520085 ms) 2026-01-06 13:46:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581521114 ms) 2026-01-06 13:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581521114 ms) 2026-01-06 13:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:46:40.710748+00:00', 'runtime': '581520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581521115 ms) 2026-01-06 13:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:45:40.710742+00:00', 'runtime': '581460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581521116 ms) 2026-01-06 13:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581540090 ms) 2026-01-06 13:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581540092 ms) 2026-01-06 13:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:46:40.710858+00:00'} (T+581540094 ms) 2026-01-06 13:47:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581580076 ms) 2026-01-06 13:47:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581580077 ms) 2026-01-06 13:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581580077 ms) 2026-01-06 13:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581580077 ms) 2026-01-06 13:47:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581581112 ms) 2026-01-06 13:47:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581581113 ms) 2026-01-06 13:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:47:40.710753+00:00', 'runtime': '581580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581581115 ms) 2026-01-06 13:47:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:46:40.710748+00:00', 'runtime': '581520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581581116 ms) 2026-01-06 13:48:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581600087 ms) 2026-01-06 13:48:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581600088 ms) 2026-01-06 13:48:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:47:40.710850+00:00'} (T+581600091 ms) 2026-01-06 13:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581640083 ms) 2026-01-06 13:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581640083 ms) 2026-01-06 13:48:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581640084 ms) 2026-01-06 13:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581640084 ms) 2026-01-06 13:48:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581641116 ms) 2026-01-06 13:48:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581641116 ms) 2026-01-06 13:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:48:40.710705+00:00', 'runtime': '581640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581641117 ms) 2026-01-06 13:48:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:47:40.710753+00:00', 'runtime': '581580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581641117 ms) 2026-01-06 13:49:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581660091 ms) 2026-01-06 13:49:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581660092 ms) 2026-01-06 13:49:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:48:40.710833+00:00'} (T+581660095 ms) 2026-01-06 13:49:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581700083 ms) 2026-01-06 13:49:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581700084 ms) 2026-01-06 13:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581700084 ms) 2026-01-06 13:49:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581700084 ms) 2026-01-06 13:49:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581701122 ms) 2026-01-06 13:49:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581701123 ms) 2026-01-06 13:49:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:49:40.710751+00:00', 'runtime': '581700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581701125 ms) 2026-01-06 13:49:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:48:40.710705+00:00', 'runtime': '581640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581701126 ms) 2026-01-06 13:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581720090 ms) 2026-01-06 13:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581720091 ms) 2026-01-06 13:50:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:49:40.710844+00:00'} (T+581720093 ms) 2026-01-06 13:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581760083 ms) 2026-01-06 13:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581760083 ms) 2026-01-06 13:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581760083 ms) 2026-01-06 13:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581760084 ms) 2026-01-06 13:50:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581761122 ms) 2026-01-06 13:50:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581761123 ms) 2026-01-06 13:50:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:50:40.710757+00:00', 'runtime': '581760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581761125 ms) 2026-01-06 13:50:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:49:40.710751+00:00', 'runtime': '581700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581761126 ms) 2026-01-06 13:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581780087 ms) 2026-01-06 13:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581780088 ms) 2026-01-06 13:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:50:40.710851+00:00'} (T+581780091 ms) 2026-01-06 13:51:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581820082 ms) 2026-01-06 13:51:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581820083 ms) 2026-01-06 13:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581820083 ms) 2026-01-06 13:51:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581820083 ms) 2026-01-06 13:51:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581821116 ms) 2026-01-06 13:51:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581821116 ms) 2026-01-06 13:51:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:51:40.710724+00:00', 'runtime': '581820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581821117 ms) 2026-01-06 13:51:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:50:40.710757+00:00', 'runtime': '581760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581821118 ms) 2026-01-06 13:52:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581840090 ms) 2026-01-06 13:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581840091 ms) 2026-01-06 13:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:51:40.710840+00:00'} (T+581840094 ms) 2026-01-06 13:52:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581880078 ms) 2026-01-06 13:52:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581880078 ms) 2026-01-06 13:52:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581880079 ms) 2026-01-06 13:52:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581880079 ms) 2026-01-06 13:52:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581881115 ms) 2026-01-06 13:52:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581881116 ms) 2026-01-06 13:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:52:40.713192+00:00', 'runtime': '581880.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581881118 ms) 2026-01-06 13:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:51:40.710724+00:00', 'runtime': '581820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581881119 ms) 2026-01-06 13:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581900088 ms) 2026-01-06 13:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581900090 ms) 2026-01-06 13:53:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:52:40.710822+00:00'} (T+581900093 ms) 2026-01-06 13:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+581940082 ms) 2026-01-06 13:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+581940083 ms) 2026-01-06 13:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+581940083 ms) 2026-01-06 13:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+581940084 ms) 2026-01-06 13:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+581941118 ms) 2026-01-06 13:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+581941119 ms) 2026-01-06 13:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:53:40.710729+00:00', 'runtime': '581940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581941120 ms) 2026-01-06 13:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:52:40.713192+00:00', 'runtime': '581880.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+581941120 ms) 2026-01-06 13:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581960087 ms) 2026-01-06 13:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+581960088 ms) 2026-01-06 13:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:53:40.710828+00:00'} (T+581960091 ms) 2026-01-06 13:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582000082 ms) 2026-01-06 13:54:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582000083 ms) 2026-01-06 13:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582000083 ms) 2026-01-06 13:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582000083 ms) 2026-01-06 13:54:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582001113 ms) 2026-01-06 13:54:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582001113 ms) 2026-01-06 13:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:54:40.710715+00:00', 'runtime': '582000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582001114 ms) 2026-01-06 13:54:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:53:40.710729+00:00', 'runtime': '581940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582001114 ms) 2026-01-06 13:55:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582020087 ms) 2026-01-06 13:55:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582020088 ms) 2026-01-06 13:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:54:40.710866+00:00'} (T+582020091 ms) 2026-01-06 13:55:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582060077 ms) 2026-01-06 13:55:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582060078 ms) 2026-01-06 13:55:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582060078 ms) 2026-01-06 13:55:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582060079 ms) 2026-01-06 13:55:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582061114 ms) 2026-01-06 13:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582061115 ms) 2026-01-06 13:55:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:55:40.710756+00:00', 'runtime': '582060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582061117 ms) 2026-01-06 13:55:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:54:40.710715+00:00', 'runtime': '582000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582061118 ms) 2026-01-06 13:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582080087 ms) 2026-01-06 13:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582080088 ms) 2026-01-06 13:56:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:55:40.710866+00:00'} (T+582080090 ms) 2026-01-06 13:56:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582120083 ms) 2026-01-06 13:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582120083 ms) 2026-01-06 13:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582120084 ms) 2026-01-06 13:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582120084 ms) 2026-01-06 13:56:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582121117 ms) 2026-01-06 13:56:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582121117 ms) 2026-01-06 13:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:56:40.710732+00:00', 'runtime': '582120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582121118 ms) 2026-01-06 13:56:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:55:40.710756+00:00', 'runtime': '582060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582121119 ms) 2026-01-06 13:57:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582140091 ms) 2026-01-06 13:57:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582140092 ms) 2026-01-06 13:57:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:56:40.713254+00:00'} (T+582140095 ms) 2026-01-06 13:57:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582180077 ms) 2026-01-06 13:57:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582180078 ms) 2026-01-06 13:57:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582180078 ms) 2026-01-06 13:57:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582180078 ms) 2026-01-06 13:57:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582181114 ms) 2026-01-06 13:57:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582181115 ms) 2026-01-06 13:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:57:40.710716+00:00', 'runtime': '582180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582181117 ms) 2026-01-06 13:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:56:40.710732+00:00', 'runtime': '582120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582181118 ms) 2026-01-06 13:58:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582200084 ms) 2026-01-06 13:58:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582200086 ms) 2026-01-06 13:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:57:40.710808+00:00'} (T+582200089 ms) 2026-01-06 13:58:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582240082 ms) 2026-01-06 13:58:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582240083 ms) 2026-01-06 13:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582240083 ms) 2026-01-06 13:58:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582240084 ms) 2026-01-06 13:58:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582241119 ms) 2026-01-06 13:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582241119 ms) 2026-01-06 13:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:58:40.710727+00:00', 'runtime': '582240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582241120 ms) 2026-01-06 13:58:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:57:40.710716+00:00', 'runtime': '582180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582241120 ms) 2026-01-06 13:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582260087 ms) 2026-01-06 13:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582260088 ms) 2026-01-06 13:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:58:40.710859+00:00'} (T+582260091 ms) 2026-01-06 13:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582300082 ms) 2026-01-06 13:59:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582300082 ms) 2026-01-06 13:59:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582300082 ms) 2026-01-06 13:59:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582300083 ms) 2026-01-06 13:59:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582301116 ms) 2026-01-06 13:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582301117 ms) 2026-01-06 13:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 13:59:40.713165+00:00', 'runtime': '582300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582301119 ms) 2026-01-06 13:59:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:58:40.710727+00:00', 'runtime': '582240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582301119 ms) 2026-01-06 14:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582320088 ms) 2026-01-06 14:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582320089 ms) 2026-01-06 14:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 13:59:40.710819+00:00'} (T+582320092 ms) 2026-01-06 14:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582360082 ms) 2026-01-06 14:00:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582360083 ms) 2026-01-06 14:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582360083 ms) 2026-01-06 14:00:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582360084 ms) 2026-01-06 14:00:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582361123 ms) 2026-01-06 14:00:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582361124 ms) 2026-01-06 14:00:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:00:40.710763+00:00', 'runtime': '582360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582361127 ms) 2026-01-06 14:00:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 13:59:40.713165+00:00', 'runtime': '582300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582361127 ms) 2026-01-06 14:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582380091 ms) 2026-01-06 14:01:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582380092 ms) 2026-01-06 14:01:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:00:40.710860+00:00'} (T+582380094 ms) 2026-01-06 14:01:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582420083 ms) 2026-01-06 14:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582420083 ms) 2026-01-06 14:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582420084 ms) 2026-01-06 14:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582420084 ms) 2026-01-06 14:01:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582421121 ms) 2026-01-06 14:01:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582421122 ms) 2026-01-06 14:01:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:01:40.710723+00:00', 'runtime': '582420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582421125 ms) 2026-01-06 14:01:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:00:40.710763+00:00', 'runtime': '582360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582421126 ms) 2026-01-06 14:02:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582440090 ms) 2026-01-06 14:02:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582440091 ms) 2026-01-06 14:02:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:01:40.710860+00:00'} (T+582440094 ms) 2026-01-06 14:02:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582480082 ms) 2026-01-06 14:02:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582480083 ms) 2026-01-06 14:02:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582480083 ms) 2026-01-06 14:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582480084 ms) 2026-01-06 14:02:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582481122 ms) 2026-01-06 14:02:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582481123 ms) 2026-01-06 14:02:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:02:40.710712+00:00', 'runtime': '582480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582481124 ms) 2026-01-06 14:02:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:01:40.710723+00:00', 'runtime': '582420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582481125 ms) 2026-01-06 14:03:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582500087 ms) 2026-01-06 14:03:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582500089 ms) 2026-01-06 14:03:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:02:40.710814+00:00'} (T+582500092 ms) 2026-01-06 14:03:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582540083 ms) 2026-01-06 14:03:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582540083 ms) 2026-01-06 14:03:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582540083 ms) 2026-01-06 14:03:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582540084 ms) 2026-01-06 14:03:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582541119 ms) 2026-01-06 14:03:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582541119 ms) 2026-01-06 14:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:03:40.710720+00:00', 'runtime': '582540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582541120 ms) 2026-01-06 14:03:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:02:40.710712+00:00', 'runtime': '582480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582541120 ms) 2026-01-06 14:04:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582560090 ms) 2026-01-06 14:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582560091 ms) 2026-01-06 14:04:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:03:40.710822+00:00'} (T+582560094 ms) 2026-01-06 14:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582600083 ms) 2026-01-06 14:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582600083 ms) 2026-01-06 14:04:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582600084 ms) 2026-01-06 14:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582600084 ms) 2026-01-06 14:04:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582601123 ms) 2026-01-06 14:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582601124 ms) 2026-01-06 14:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:04:40.710771+00:00', 'runtime': '582600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582601126 ms) 2026-01-06 14:04:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:03:40.710720+00:00', 'runtime': '582540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582601127 ms) 2026-01-06 14:05:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582620091 ms) 2026-01-06 14:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582620092 ms) 2026-01-06 14:05:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:04:40.710856+00:00'} (T+582620095 ms) 2026-01-06 14:05:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582660084 ms) 2026-01-06 14:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582660084 ms) 2026-01-06 14:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582660085 ms) 2026-01-06 14:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582660085 ms) 2026-01-06 14:05:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582661119 ms) 2026-01-06 14:05:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582661120 ms) 2026-01-06 14:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:05:40.710790+00:00', 'runtime': '582660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582661121 ms) 2026-01-06 14:05:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:04:40.710771+00:00', 'runtime': '582600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582661121 ms) 2026-01-06 14:06:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582680090 ms) 2026-01-06 14:06:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582680091 ms) 2026-01-06 14:06:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:05:40.710880+00:00'} (T+582680094 ms) 2026-01-06 14:06:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582720081 ms) 2026-01-06 14:06:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582720081 ms) 2026-01-06 14:06:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582720081 ms) 2026-01-06 14:06:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582720081 ms) 2026-01-06 14:06:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582721116 ms) 2026-01-06 14:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582721116 ms) 2026-01-06 14:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:06:40.710749+00:00', 'runtime': '582720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582721119 ms) 2026-01-06 14:06:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:05:40.710790+00:00', 'runtime': '582660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582721119 ms) 2026-01-06 14:07:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582740085 ms) 2026-01-06 14:07:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582740086 ms) 2026-01-06 14:07:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:06:40.710859+00:00'} (T+582740089 ms) 2026-01-06 14:07:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582780083 ms) 2026-01-06 14:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582780083 ms) 2026-01-06 14:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582780083 ms) 2026-01-06 14:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582780084 ms) 2026-01-06 14:07:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582781116 ms) 2026-01-06 14:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582781116 ms) 2026-01-06 14:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:07:40.710741+00:00', 'runtime': '582780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582781117 ms) 2026-01-06 14:07:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:06:40.710749+00:00', 'runtime': '582720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582781118 ms) 2026-01-06 14:08:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582800088 ms) 2026-01-06 14:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582800089 ms) 2026-01-06 14:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:07:40.710820+00:00'} (T+582800092 ms) 2026-01-06 14:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582840083 ms) 2026-01-06 14:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582840083 ms) 2026-01-06 14:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582840084 ms) 2026-01-06 14:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582840084 ms) 2026-01-06 14:08:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582841117 ms) 2026-01-06 14:08:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582841117 ms) 2026-01-06 14:08:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:08:40.710771+00:00', 'runtime': '582840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582841118 ms) 2026-01-06 14:08:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:07:40.710741+00:00', 'runtime': '582780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582841119 ms) 2026-01-06 14:09:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582860091 ms) 2026-01-06 14:09:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582860092 ms) 2026-01-06 14:09:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:08:40.710856+00:00'} (T+582860097 ms) 2026-01-06 14:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582900083 ms) 2026-01-06 14:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582900084 ms) 2026-01-06 14:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582900084 ms) 2026-01-06 14:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582900084 ms) 2026-01-06 14:09:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582901124 ms) 2026-01-06 14:09:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582901125 ms) 2026-01-06 14:09:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:09:40.710796+00:00', 'runtime': '582900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582901127 ms) 2026-01-06 14:09:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:08:40.710771+00:00', 'runtime': '582840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582901128 ms) 2026-01-06 14:10:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582920088 ms) 2026-01-06 14:10:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582920089 ms) 2026-01-06 14:10:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:09:40.710857+00:00'} (T+582920092 ms) 2026-01-06 14:10:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+582960079 ms) 2026-01-06 14:10:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+582960080 ms) 2026-01-06 14:10:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+582960080 ms) 2026-01-06 14:10:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+582960080 ms) 2026-01-06 14:10:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+582961116 ms) 2026-01-06 14:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+582961116 ms) 2026-01-06 14:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:10:40.713171+00:00', 'runtime': '582960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582961118 ms) 2026-01-06 14:10:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:09:40.710796+00:00', 'runtime': '582900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+582961119 ms) 2026-01-06 14:11:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582980088 ms) 2026-01-06 14:11:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+582980089 ms) 2026-01-06 14:11:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:10:40.710783+00:00'} (T+582980092 ms) 2026-01-06 14:11:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583020083 ms) 2026-01-06 14:11:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583020084 ms) 2026-01-06 14:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583020084 ms) 2026-01-06 14:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583020085 ms) 2026-01-06 14:11:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583021117 ms) 2026-01-06 14:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583021117 ms) 2026-01-06 14:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:11:40.710731+00:00', 'runtime': '583020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583021118 ms) 2026-01-06 14:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:10:40.713171+00:00', 'runtime': '582960.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583021119 ms) 2026-01-06 14:12:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583040089 ms) 2026-01-06 14:12:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583040091 ms) 2026-01-06 14:12:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:11:40.710834+00:00'} (T+583040094 ms) 2026-01-06 14:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583080082 ms) 2026-01-06 14:12:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583080082 ms) 2026-01-06 14:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583080083 ms) 2026-01-06 14:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583080083 ms) 2026-01-06 14:12:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583081124 ms) 2026-01-06 14:12:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583081125 ms) 2026-01-06 14:12:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:12:40.710782+00:00', 'runtime': '583080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583081127 ms) 2026-01-06 14:12:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:11:40.710731+00:00', 'runtime': '583020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583081128 ms) 2026-01-06 14:13:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583100088 ms) 2026-01-06 14:13:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583100090 ms) 2026-01-06 14:13:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:12:40.710833+00:00'} (T+583100093 ms) 2026-01-06 14:13:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583140076 ms) 2026-01-06 14:13:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583140077 ms) 2026-01-06 14:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583140077 ms) 2026-01-06 14:13:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583140077 ms) 2026-01-06 14:13:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583141114 ms) 2026-01-06 14:13:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583141115 ms) 2026-01-06 14:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:13:40.710725+00:00', 'runtime': '583140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583141117 ms) 2026-01-06 14:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:12:40.710782+00:00', 'runtime': '583080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583141118 ms) 2026-01-06 14:14:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583160088 ms) 2026-01-06 14:14:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583160089 ms) 2026-01-06 14:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:13:40.710859+00:00'} (T+583160092 ms) 2026-01-06 14:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583200083 ms) 2026-01-06 14:14:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583200084 ms) 2026-01-06 14:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583200084 ms) 2026-01-06 14:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583200085 ms) 2026-01-06 14:14:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583201124 ms) 2026-01-06 14:14:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583201125 ms) 2026-01-06 14:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:14:40.710765+00:00', 'runtime': '583200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583201127 ms) 2026-01-06 14:14:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:13:40.710725+00:00', 'runtime': '583140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583201128 ms) 2026-01-06 14:15:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583220091 ms) 2026-01-06 14:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583220092 ms) 2026-01-06 14:15:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:14:40.710858+00:00'} (T+583220095 ms) 2026-01-06 14:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583260083 ms) 2026-01-06 14:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583260083 ms) 2026-01-06 14:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583260084 ms) 2026-01-06 14:15:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583260084 ms) 2026-01-06 14:15:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583261112 ms) 2026-01-06 14:15:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583261113 ms) 2026-01-06 14:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:15:40.710718+00:00', 'runtime': '583260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583261114 ms) 2026-01-06 14:15:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:14:40.710765+00:00', 'runtime': '583200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583261114 ms) 2026-01-06 14:16:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583280090 ms) 2026-01-06 14:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583280092 ms) 2026-01-06 14:16:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:15:40.710852+00:00'} (T+583280094 ms) 2026-01-06 14:16:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583320082 ms) 2026-01-06 14:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583320083 ms) 2026-01-06 14:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583320083 ms) 2026-01-06 14:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583320084 ms) 2026-01-06 14:16:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583321120 ms) 2026-01-06 14:16:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583321120 ms) 2026-01-06 14:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:16:40.710761+00:00', 'runtime': '583320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583321121 ms) 2026-01-06 14:16:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:15:40.710718+00:00', 'runtime': '583260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583321122 ms) 2026-01-06 14:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583340090 ms) 2026-01-06 14:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583340091 ms) 2026-01-06 14:17:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:16:40.710845+00:00'} (T+583340094 ms) 2026-01-06 14:17:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583380081 ms) 2026-01-06 14:17:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583380081 ms) 2026-01-06 14:17:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583380082 ms) 2026-01-06 14:17:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583380082 ms) 2026-01-06 14:17:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583381115 ms) 2026-01-06 14:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583381116 ms) 2026-01-06 14:17:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:17:40.710744+00:00', 'runtime': '583380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583381118 ms) 2026-01-06 14:17:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:16:40.710761+00:00', 'runtime': '583320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583381119 ms) 2026-01-06 14:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583400087 ms) 2026-01-06 14:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583400088 ms) 2026-01-06 14:18:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:17:40.710847+00:00'} (T+583400091 ms) 2026-01-06 14:18:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583440083 ms) 2026-01-06 14:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583440084 ms) 2026-01-06 14:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583440084 ms) 2026-01-06 14:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583440084 ms) 2026-01-06 14:18:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583441115 ms) 2026-01-06 14:18:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583441116 ms) 2026-01-06 14:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:18:40.710731+00:00', 'runtime': '583440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583441117 ms) 2026-01-06 14:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:17:40.710744+00:00', 'runtime': '583380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583441117 ms) 2026-01-06 14:19:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583460093 ms) 2026-01-06 14:19:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583460095 ms) 2026-01-06 14:19:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:18:40.713243+00:00'} (T+583460097 ms) 2026-01-06 14:19:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583500079 ms) 2026-01-06 14:19:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583500079 ms) 2026-01-06 14:19:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583500080 ms) 2026-01-06 14:19:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583500080 ms) 2026-01-06 14:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583501119 ms) 2026-01-06 14:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583501120 ms) 2026-01-06 14:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:19:40.710742+00:00', 'runtime': '583500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583501122 ms) 2026-01-06 14:19:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:18:40.710731+00:00', 'runtime': '583440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583501122 ms) 2026-01-06 14:20:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583520091 ms) 2026-01-06 14:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583520092 ms) 2026-01-06 14:20:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:19:40.713238+00:00'} (T+583520095 ms) 2026-01-06 14:20:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583560082 ms) 2026-01-06 14:20:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583560083 ms) 2026-01-06 14:20:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583560083 ms) 2026-01-06 14:20:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583560084 ms) 2026-01-06 14:20:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583561115 ms) 2026-01-06 14:20:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583561115 ms) 2026-01-06 14:20:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:20:40.710723+00:00', 'runtime': '583560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583561116 ms) 2026-01-06 14:20:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:19:40.710742+00:00', 'runtime': '583500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583561117 ms) 2026-01-06 14:21:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583580093 ms) 2026-01-06 14:21:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583580094 ms) 2026-01-06 14:21:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:20:40.713241+00:00'} (T+583580097 ms) 2026-01-06 14:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583620082 ms) 2026-01-06 14:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583620083 ms) 2026-01-06 14:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583620083 ms) 2026-01-06 14:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583620084 ms) 2026-01-06 14:21:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583621115 ms) 2026-01-06 14:21:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583621115 ms) 2026-01-06 14:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:21:40.710734+00:00', 'runtime': '583620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583621116 ms) 2026-01-06 14:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:20:40.710723+00:00', 'runtime': '583560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583621117 ms) 2026-01-06 14:22:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583640090 ms) 2026-01-06 14:22:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583640091 ms) 2026-01-06 14:22:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:21:40.710837+00:00'} (T+583640093 ms) 2026-01-06 14:22:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583680083 ms) 2026-01-06 14:22:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583680084 ms) 2026-01-06 14:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583680084 ms) 2026-01-06 14:22:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583680084 ms) 2026-01-06 14:22:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583681119 ms) 2026-01-06 14:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583681120 ms) 2026-01-06 14:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:22:40.710807+00:00', 'runtime': '583680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583681121 ms) 2026-01-06 14:22:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:21:40.710734+00:00', 'runtime': '583620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583681121 ms) 2026-01-06 14:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583700090 ms) 2026-01-06 14:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583700091 ms) 2026-01-06 14:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:22:40.710914+00:00'} (T+583700094 ms) 2026-01-06 14:23:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583740081 ms) 2026-01-06 14:23:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583740082 ms) 2026-01-06 14:23:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583740082 ms) 2026-01-06 14:23:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583740082 ms) 2026-01-06 14:23:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583741115 ms) 2026-01-06 14:23:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583741116 ms) 2026-01-06 14:23:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:23:40.710733+00:00', 'runtime': '583740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583741117 ms) 2026-01-06 14:23:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:22:40.710807+00:00', 'runtime': '583680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583741118 ms) 2026-01-06 14:24:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583760093 ms) 2026-01-06 14:24:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583760094 ms) 2026-01-06 14:24:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:23:40.713237+00:00'} (T+583760097 ms) 2026-01-06 14:24:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583800083 ms) 2026-01-06 14:24:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583800083 ms) 2026-01-06 14:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583800084 ms) 2026-01-06 14:24:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583800084 ms) 2026-01-06 14:24:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583801119 ms) 2026-01-06 14:24:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583801120 ms) 2026-01-06 14:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:24:40.710831+00:00', 'runtime': '583800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583801121 ms) 2026-01-06 14:24:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:23:40.710733+00:00', 'runtime': '583740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583801122 ms) 2026-01-06 14:25:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583820087 ms) 2026-01-06 14:25:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583820088 ms) 2026-01-06 14:25:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:24:40.710866+00:00'} (T+583820091 ms) 2026-01-06 14:25:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583860084 ms) 2026-01-06 14:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583860084 ms) 2026-01-06 14:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583860085 ms) 2026-01-06 14:25:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583860085 ms) 2026-01-06 14:25:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583861119 ms) 2026-01-06 14:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583861120 ms) 2026-01-06 14:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:25:40.710744+00:00', 'runtime': '583860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583861120 ms) 2026-01-06 14:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:24:40.710831+00:00', 'runtime': '583800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583861121 ms) 2026-01-06 14:26:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583880087 ms) 2026-01-06 14:26:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583880088 ms) 2026-01-06 14:26:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:25:40.710845+00:00'} (T+583880090 ms) 2026-01-06 14:26:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583920083 ms) 2026-01-06 14:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583920084 ms) 2026-01-06 14:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583920084 ms) 2026-01-06 14:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583920085 ms) 2026-01-06 14:26:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583921117 ms) 2026-01-06 14:26:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583921117 ms) 2026-01-06 14:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:26:40.710737+00:00', 'runtime': '583920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583921118 ms) 2026-01-06 14:26:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:25:40.710744+00:00', 'runtime': '583860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583921119 ms) 2026-01-06 14:27:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583940090 ms) 2026-01-06 14:27:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+583940091 ms) 2026-01-06 14:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:26:40.710866+00:00'} (T+583940094 ms) 2026-01-06 14:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+583980084 ms) 2026-01-06 14:27:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+583980084 ms) 2026-01-06 14:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+583980084 ms) 2026-01-06 14:27:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+583980085 ms) 2026-01-06 14:27:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+583981117 ms) 2026-01-06 14:27:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+583981118 ms) 2026-01-06 14:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:27:40.710741+00:00', 'runtime': '583980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583981119 ms) 2026-01-06 14:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:26:40.710737+00:00', 'runtime': '583920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+583981119 ms) 2026-01-06 14:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584000090 ms) 2026-01-06 14:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584000091 ms) 2026-01-06 14:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:27:40.710861+00:00'} (T+584000093 ms) 2026-01-06 14:28:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584040083 ms) 2026-01-06 14:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584040083 ms) 2026-01-06 14:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584040084 ms) 2026-01-06 14:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584040084 ms) 2026-01-06 14:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584041119 ms) 2026-01-06 14:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584041119 ms) 2026-01-06 14:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:28:40.710773+00:00', 'runtime': '584040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584041120 ms) 2026-01-06 14:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:27:40.710741+00:00', 'runtime': '583980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584041121 ms) 2026-01-06 14:29:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584060093 ms) 2026-01-06 14:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584060094 ms) 2026-01-06 14:29:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:28:40.713242+00:00'} (T+584060097 ms) 2026-01-06 14:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584100083 ms) 2026-01-06 14:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584100084 ms) 2026-01-06 14:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584100084 ms) 2026-01-06 14:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584100084 ms) 2026-01-06 14:29:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584101117 ms) 2026-01-06 14:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584101117 ms) 2026-01-06 14:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:29:40.710758+00:00', 'runtime': '584100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584101118 ms) 2026-01-06 14:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:28:40.710773+00:00', 'runtime': '584040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584101119 ms) 2026-01-06 14:30:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584120091 ms) 2026-01-06 14:30:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584120091 ms) 2026-01-06 14:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:29:40.713256+00:00'} (T+584120093 ms) 2026-01-06 14:30:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584160078 ms) 2026-01-06 14:30:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584160078 ms) 2026-01-06 14:30:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584160078 ms) 2026-01-06 14:30:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584160079 ms) 2026-01-06 14:30:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584161114 ms) 2026-01-06 14:30:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584161115 ms) 2026-01-06 14:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:30:40.710721+00:00', 'runtime': '584160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584161117 ms) 2026-01-06 14:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:29:40.710758+00:00', 'runtime': '584100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584161118 ms) 2026-01-06 14:31:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584180085 ms) 2026-01-06 14:31:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584180086 ms) 2026-01-06 14:31:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:30:40.710858+00:00'} (T+584180089 ms) 2026-01-06 14:31:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584220083 ms) 2026-01-06 14:31:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584220084 ms) 2026-01-06 14:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584220084 ms) 2026-01-06 14:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584220084 ms) 2026-01-06 14:31:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584221119 ms) 2026-01-06 14:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584221119 ms) 2026-01-06 14:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:31:40.710759+00:00', 'runtime': '584220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584221120 ms) 2026-01-06 14:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:30:40.710721+00:00', 'runtime': '584160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584221121 ms) 2026-01-06 14:32:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584240091 ms) 2026-01-06 14:32:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584240092 ms) 2026-01-06 14:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:31:40.710869+00:00'} (T+584240094 ms) 2026-01-06 14:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584280082 ms) 2026-01-06 14:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584280083 ms) 2026-01-06 14:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584280083 ms) 2026-01-06 14:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584280084 ms) 2026-01-06 14:32:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584281118 ms) 2026-01-06 14:32:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584281118 ms) 2026-01-06 14:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:32:40.710746+00:00', 'runtime': '584280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584281119 ms) 2026-01-06 14:32:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:31:40.710759+00:00', 'runtime': '584220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584281120 ms) 2026-01-06 14:33:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584300093 ms) 2026-01-06 14:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584300094 ms) 2026-01-06 14:33:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:32:40.713239+00:00'} (T+584300096 ms) 2026-01-06 14:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584340083 ms) 2026-01-06 14:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584340083 ms) 2026-01-06 14:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584340084 ms) 2026-01-06 14:33:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584340084 ms) 2026-01-06 14:33:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584341122 ms) 2026-01-06 14:33:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584341123 ms) 2026-01-06 14:33:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:33:40.710762+00:00', 'runtime': '584340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584341125 ms) 2026-01-06 14:33:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:32:40.710746+00:00', 'runtime': '584280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584341126 ms) 2026-01-06 14:34:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584360093 ms) 2026-01-06 14:34:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584360095 ms) 2026-01-06 14:34:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:33:40.713237+00:00'} (T+584360096 ms) 2026-01-06 14:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584400083 ms) 2026-01-06 14:34:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584400084 ms) 2026-01-06 14:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584400084 ms) 2026-01-06 14:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584400084 ms) 2026-01-06 14:34:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584401122 ms) 2026-01-06 14:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584401122 ms) 2026-01-06 14:34:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:34:40.710704+00:00', 'runtime': '584400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584401124 ms) 2026-01-06 14:34:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:33:40.710762+00:00', 'runtime': '584340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584401125 ms) 2026-01-06 14:35:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584420091 ms) 2026-01-06 14:35:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584420092 ms) 2026-01-06 14:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:34:40.710821+00:00'} (T+584420094 ms) 2026-01-06 14:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584460082 ms) 2026-01-06 14:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584460083 ms) 2026-01-06 14:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584460083 ms) 2026-01-06 14:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584460084 ms) 2026-01-06 14:35:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584461117 ms) 2026-01-06 14:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584461118 ms) 2026-01-06 14:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:35:40.710737+00:00', 'runtime': '584460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584461119 ms) 2026-01-06 14:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:34:40.710704+00:00', 'runtime': '584400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584461119 ms) 2026-01-06 14:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584480088 ms) 2026-01-06 14:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584480089 ms) 2026-01-06 14:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:35:40.710860+00:00'} (T+584480092 ms) 2026-01-06 14:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584520082 ms) 2026-01-06 14:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584520083 ms) 2026-01-06 14:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584520083 ms) 2026-01-06 14:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584520084 ms) 2026-01-06 14:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584521116 ms) 2026-01-06 14:36:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584521117 ms) 2026-01-06 14:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:36:40.710748+00:00', 'runtime': '584520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584521118 ms) 2026-01-06 14:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:35:40.710737+00:00', 'runtime': '584460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584521119 ms) 2026-01-06 14:37:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584540087 ms) 2026-01-06 14:37:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584540088 ms) 2026-01-06 14:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:36:40.710856+00:00'} (T+584540091 ms) 2026-01-06 14:37:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584580083 ms) 2026-01-06 14:37:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584580084 ms) 2026-01-06 14:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584580084 ms) 2026-01-06 14:37:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584580084 ms) 2026-01-06 14:37:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584581116 ms) 2026-01-06 14:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584581117 ms) 2026-01-06 14:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:37:40.710768+00:00', 'runtime': '584580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584581117 ms) 2026-01-06 14:37:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:36:40.710748+00:00', 'runtime': '584520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584581118 ms) 2026-01-06 14:38:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584600092 ms) 2026-01-06 14:38:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584600093 ms) 2026-01-06 14:38:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:37:40.713241+00:00'} (T+584600096 ms) 2026-01-06 14:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584640082 ms) 2026-01-06 14:38:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584640082 ms) 2026-01-06 14:38:40.761 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584640083 ms) 2026-01-06 14:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584640083 ms) 2026-01-06 14:38:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584641116 ms) 2026-01-06 14:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584641117 ms) 2026-01-06 14:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:38:40.710746+00:00', 'runtime': '584640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584641119 ms) 2026-01-06 14:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:37:40.710768+00:00', 'runtime': '584580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584641120 ms) 2026-01-06 14:39:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584660088 ms) 2026-01-06 14:39:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584660090 ms) 2026-01-06 14:39:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:38:40.710844+00:00'} (T+584660092 ms) 2026-01-06 14:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584700082 ms) 2026-01-06 14:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584700083 ms) 2026-01-06 14:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584700083 ms) 2026-01-06 14:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584700084 ms) 2026-01-06 14:39:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584701116 ms) 2026-01-06 14:39:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584701117 ms) 2026-01-06 14:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:39:40.710701+00:00', 'runtime': '584700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584701118 ms) 2026-01-06 14:39:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:38:40.710746+00:00', 'runtime': '584640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584701118 ms) 2026-01-06 14:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584720090 ms) 2026-01-06 14:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584720091 ms) 2026-01-06 14:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:39:40.710839+00:00'} (T+584720094 ms) 2026-01-06 14:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584760082 ms) 2026-01-06 14:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584760083 ms) 2026-01-06 14:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584760083 ms) 2026-01-06 14:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584760084 ms) 2026-01-06 14:40:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584761123 ms) 2026-01-06 14:40:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584761124 ms) 2026-01-06 14:40:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:40:40.710769+00:00', 'runtime': '584760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584761127 ms) 2026-01-06 14:40:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:39:40.710701+00:00', 'runtime': '584700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584761127 ms) 2026-01-06 14:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584780088 ms) 2026-01-06 14:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584780089 ms) 2026-01-06 14:41:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:40:40.710862+00:00'} (T+584780092 ms) 2026-01-06 14:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584820082 ms) 2026-01-06 14:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584820083 ms) 2026-01-06 14:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584820083 ms) 2026-01-06 14:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584820084 ms) 2026-01-06 14:41:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584821119 ms) 2026-01-06 14:41:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584821119 ms) 2026-01-06 14:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:41:40.710710+00:00', 'runtime': '584820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584821120 ms) 2026-01-06 14:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:40:40.710769+00:00', 'runtime': '584760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584821120 ms) 2026-01-06 14:42:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584840091 ms) 2026-01-06 14:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584840092 ms) 2026-01-06 14:42:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:41:40.713237+00:00'} (T+584840095 ms) 2026-01-06 14:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584880083 ms) 2026-01-06 14:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584880084 ms) 2026-01-06 14:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584880084 ms) 2026-01-06 14:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584880084 ms) 2026-01-06 14:42:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584881116 ms) 2026-01-06 14:42:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584881116 ms) 2026-01-06 14:42:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:42:40.710745+00:00', 'runtime': '584880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584881117 ms) 2026-01-06 14:42:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:41:40.710710+00:00', 'runtime': '584820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584881117 ms) 2026-01-06 14:43:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584900089 ms) 2026-01-06 14:43:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584900090 ms) 2026-01-06 14:43:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:42:40.710848+00:00'} (T+584900092 ms) 2026-01-06 14:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+584940084 ms) 2026-01-06 14:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+584940084 ms) 2026-01-06 14:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+584940085 ms) 2026-01-06 14:43:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+584940085 ms) 2026-01-06 14:43:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+584941119 ms) 2026-01-06 14:43:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+584941119 ms) 2026-01-06 14:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:43:40.710763+00:00', 'runtime': '584940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584941120 ms) 2026-01-06 14:43:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:42:40.710745+00:00', 'runtime': '584880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+584941120 ms) 2026-01-06 14:44:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584960089 ms) 2026-01-06 14:44:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+584960090 ms) 2026-01-06 14:44:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:43:40.710861+00:00'} (T+584960092 ms) 2026-01-06 14:44:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585000082 ms) 2026-01-06 14:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585000083 ms) 2026-01-06 14:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585000083 ms) 2026-01-06 14:44:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585000084 ms) 2026-01-06 14:44:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585001112 ms) 2026-01-06 14:44:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585001113 ms) 2026-01-06 14:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:44:40.710709+00:00', 'runtime': '585000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585001114 ms) 2026-01-06 14:44:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:43:40.710763+00:00', 'runtime': '584940.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585001114 ms) 2026-01-06 14:45:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585020091 ms) 2026-01-06 14:45:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585020092 ms) 2026-01-06 14:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:44:40.710853+00:00'} (T+585020094 ms) 2026-01-06 14:45:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585060076 ms) 2026-01-06 14:45:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585060077 ms) 2026-01-06 14:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585060077 ms) 2026-01-06 14:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585060077 ms) 2026-01-06 14:45:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585061114 ms) 2026-01-06 14:45:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585061115 ms) 2026-01-06 14:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:45:40.710731+00:00', 'runtime': '585060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585061117 ms) 2026-01-06 14:45:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:44:40.710709+00:00', 'runtime': '585000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585061118 ms) 2026-01-06 14:46:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585080089 ms) 2026-01-06 14:46:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585080090 ms) 2026-01-06 14:46:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:45:40.710853+00:00'} (T+585080093 ms) 2026-01-06 14:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585120083 ms) 2026-01-06 14:46:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585120084 ms) 2026-01-06 14:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585120084 ms) 2026-01-06 14:46:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585120085 ms) 2026-01-06 14:46:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585121123 ms) 2026-01-06 14:46:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585121124 ms) 2026-01-06 14:46:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:46:40.710760+00:00', 'runtime': '585120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585121126 ms) 2026-01-06 14:46:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:45:40.710731+00:00', 'runtime': '585060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585121127 ms) 2026-01-06 14:47:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585140093 ms) 2026-01-06 14:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585140094 ms) 2026-01-06 14:47:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:46:40.713237+00:00'} (T+585140097 ms) 2026-01-06 14:47:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585180078 ms) 2026-01-06 14:47:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585180078 ms) 2026-01-06 14:47:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585180078 ms) 2026-01-06 14:47:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585180079 ms) 2026-01-06 14:47:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585181113 ms) 2026-01-06 14:47:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585181115 ms) 2026-01-06 14:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:47:40.710743+00:00', 'runtime': '585180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585181117 ms) 2026-01-06 14:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:46:40.710760+00:00', 'runtime': '585120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585181118 ms) 2026-01-06 14:48:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585200089 ms) 2026-01-06 14:48:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585200090 ms) 2026-01-06 14:48:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:47:40.710847+00:00'} (T+585200093 ms) 2026-01-06 14:48:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585240084 ms) 2026-01-06 14:48:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585240085 ms) 2026-01-06 14:48:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585240085 ms) 2026-01-06 14:48:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585240085 ms) 2026-01-06 14:48:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585241120 ms) 2026-01-06 14:48:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585241120 ms) 2026-01-06 14:48:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:48:40.710709+00:00', 'runtime': '585240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585241121 ms) 2026-01-06 14:48:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:47:40.710743+00:00', 'runtime': '585180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585241121 ms) 2026-01-06 14:49:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585260093 ms) 2026-01-06 14:49:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585260095 ms) 2026-01-06 14:49:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:48:40.713226+00:00'} (T+585260098 ms) 2026-01-06 14:49:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585300084 ms) 2026-01-06 14:49:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585300085 ms) 2026-01-06 14:49:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585300085 ms) 2026-01-06 14:49:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585300085 ms) 2026-01-06 14:49:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585301121 ms) 2026-01-06 14:49:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585301122 ms) 2026-01-06 14:49:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:49:40.713168+00:00', 'runtime': '585300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585301123 ms) 2026-01-06 14:49:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:48:40.710709+00:00', 'runtime': '585240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585301124 ms) 2026-01-06 14:50:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585320090 ms) 2026-01-06 14:50:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585320092 ms) 2026-01-06 14:50:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:49:40.710810+00:00'} (T+585320094 ms) 2026-01-06 14:50:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585360082 ms) 2026-01-06 14:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585360083 ms) 2026-01-06 14:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585360083 ms) 2026-01-06 14:50:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585360084 ms) 2026-01-06 14:50:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585361112 ms) 2026-01-06 14:50:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585361112 ms) 2026-01-06 14:50:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:50:40.710724+00:00', 'runtime': '585360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585361113 ms) 2026-01-06 14:50:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:49:40.713168+00:00', 'runtime': '585300.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585361114 ms) 2026-01-06 14:51:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585380087 ms) 2026-01-06 14:51:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585380088 ms) 2026-01-06 14:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:50:40.710854+00:00'} (T+585380091 ms) 2026-01-06 14:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585420083 ms) 2026-01-06 14:51:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585420084 ms) 2026-01-06 14:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585420084 ms) 2026-01-06 14:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585420085 ms) 2026-01-06 14:51:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585421124 ms) 2026-01-06 14:51:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585421125 ms) 2026-01-06 14:51:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:51:40.710795+00:00', 'runtime': '585420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585421127 ms) 2026-01-06 14:51:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:50:40.710724+00:00', 'runtime': '585360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585421128 ms) 2026-01-06 14:52:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585440093 ms) 2026-01-06 14:52:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585440094 ms) 2026-01-06 14:52:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:51:40.713243+00:00'} (T+585440097 ms) 2026-01-06 14:52:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585480082 ms) 2026-01-06 14:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585480083 ms) 2026-01-06 14:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585480083 ms) 2026-01-06 14:52:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585480084 ms) 2026-01-06 14:52:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585481116 ms) 2026-01-06 14:52:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585481116 ms) 2026-01-06 14:52:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:52:40.710715+00:00', 'runtime': '585480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585481117 ms) 2026-01-06 14:52:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:51:40.710795+00:00', 'runtime': '585420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585481118 ms) 2026-01-06 14:53:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585500088 ms) 2026-01-06 14:53:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585500089 ms) 2026-01-06 14:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:52:40.710855+00:00'} (T+585500091 ms) 2026-01-06 14:53:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585540084 ms) 2026-01-06 14:53:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585540085 ms) 2026-01-06 14:53:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585540085 ms) 2026-01-06 14:53:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585540086 ms) 2026-01-06 14:53:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585541119 ms) 2026-01-06 14:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585541119 ms) 2026-01-06 14:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:53:40.713172+00:00', 'runtime': '585540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585541120 ms) 2026-01-06 14:53:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:52:40.710715+00:00', 'runtime': '585480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585541120 ms) 2026-01-06 14:54:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585560087 ms) 2026-01-06 14:54:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585560088 ms) 2026-01-06 14:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:53:40.710853+00:00'} (T+585560091 ms) 2026-01-06 14:54:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585600077 ms) 2026-01-06 14:54:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585600077 ms) 2026-01-06 14:54:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585600077 ms) 2026-01-06 14:54:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585600078 ms) 2026-01-06 14:54:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585601114 ms) 2026-01-06 14:54:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585601115 ms) 2026-01-06 14:54:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:54:40.710729+00:00', 'runtime': '585600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585601117 ms) 2026-01-06 14:54:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:53:40.713172+00:00', 'runtime': '585540.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585601118 ms) 2026-01-06 14:55:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585620085 ms) 2026-01-06 14:55:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585620087 ms) 2026-01-06 14:55:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:54:40.710868+00:00'} (T+585620089 ms) 2026-01-06 14:55:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585660077 ms) 2026-01-06 14:55:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585660077 ms) 2026-01-06 14:55:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585660077 ms) 2026-01-06 14:55:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585660078 ms) 2026-01-06 14:55:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585661112 ms) 2026-01-06 14:55:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585661113 ms) 2026-01-06 14:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:55:40.710741+00:00', 'runtime': '585660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585661115 ms) 2026-01-06 14:55:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:54:40.710729+00:00', 'runtime': '585600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585661116 ms) 2026-01-06 14:56:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585680087 ms) 2026-01-06 14:56:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585680088 ms) 2026-01-06 14:56:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:55:40.713349+00:00'} (T+585680091 ms) 2026-01-06 14:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585720083 ms) 2026-01-06 14:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585720083 ms) 2026-01-06 14:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585720083 ms) 2026-01-06 14:56:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585720084 ms) 2026-01-06 14:56:41.789 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585721110 ms) 2026-01-06 14:56:41.790 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585721111 ms) 2026-01-06 14:56:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:56:40.710766+00:00', 'runtime': '585720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585721112 ms) 2026-01-06 14:56:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:55:40.710741+00:00', 'runtime': '585660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585721112 ms) 2026-01-06 14:57:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585740090 ms) 2026-01-06 14:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585740091 ms) 2026-01-06 14:57:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:56:40.710870+00:00'} (T+585740094 ms) 2026-01-06 14:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585780084 ms) 2026-01-06 14:57:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585780084 ms) 2026-01-06 14:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585780085 ms) 2026-01-06 14:57:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585780085 ms) 2026-01-06 14:57:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585781121 ms) 2026-01-06 14:57:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585781121 ms) 2026-01-06 14:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:57:40.710756+00:00', 'runtime': '585780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585781122 ms) 2026-01-06 14:57:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:56:40.710766+00:00', 'runtime': '585720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585781123 ms) 2026-01-06 14:58:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585800087 ms) 2026-01-06 14:58:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585800088 ms) 2026-01-06 14:58:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:57:40.710845+00:00'} (T+585800091 ms) 2026-01-06 14:58:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585840084 ms) 2026-01-06 14:58:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585840085 ms) 2026-01-06 14:58:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585840085 ms) 2026-01-06 14:58:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585840086 ms) 2026-01-06 14:58:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585841117 ms) 2026-01-06 14:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585841118 ms) 2026-01-06 14:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:58:40.713155+00:00', 'runtime': '585840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585841119 ms) 2026-01-06 14:58:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:57:40.710756+00:00', 'runtime': '585780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585841119 ms) 2026-01-06 14:59:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585860087 ms) 2026-01-06 14:59:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585860088 ms) 2026-01-06 14:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:58:40.710844+00:00'} (T+585860091 ms) 2026-01-06 14:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585900082 ms) 2026-01-06 14:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585900083 ms) 2026-01-06 14:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585900083 ms) 2026-01-06 14:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585900084 ms) 2026-01-06 14:59:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585901116 ms) 2026-01-06 14:59:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585901117 ms) 2026-01-06 14:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 14:59:40.710768+00:00', 'runtime': '585900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585901118 ms) 2026-01-06 14:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:58:40.713155+00:00', 'runtime': '585840.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585901118 ms) 2026-01-06 15:00:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585920088 ms) 2026-01-06 15:00:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585920089 ms) 2026-01-06 15:00:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 14:59:40.710866+00:00'} (T+585920092 ms) 2026-01-06 15:00:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+585960082 ms) 2026-01-06 15:00:40.761 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+585960082 ms) 2026-01-06 15:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+585960083 ms) 2026-01-06 15:00:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+585960083 ms) 2026-01-06 15:00:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+585961118 ms) 2026-01-06 15:00:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+585961118 ms) 2026-01-06 15:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:00:40.710713+00:00', 'runtime': '585960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585961119 ms) 2026-01-06 15:00:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 14:59:40.710768+00:00', 'runtime': '585900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+585961120 ms) 2026-01-06 15:01:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585980090 ms) 2026-01-06 15:01:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+585980091 ms) 2026-01-06 15:01:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:00:40.710853+00:00'} (T+585980094 ms) 2026-01-06 15:01:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586020083 ms) 2026-01-06 15:01:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586020083 ms) 2026-01-06 15:01:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586020083 ms) 2026-01-06 15:01:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586020084 ms) 2026-01-06 15:01:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586021116 ms) 2026-01-06 15:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586021117 ms) 2026-01-06 15:01:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:01:40.710715+00:00', 'runtime': '586020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586021118 ms) 2026-01-06 15:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:00:40.710713+00:00', 'runtime': '585960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586021118 ms) 2026-01-06 15:02:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586040091 ms) 2026-01-06 15:02:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586040092 ms) 2026-01-06 15:02:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:01:40.710849+00:00'} (T+586040095 ms) 2026-01-06 15:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586080084 ms) 2026-01-06 15:02:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586080084 ms) 2026-01-06 15:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586080084 ms) 2026-01-06 15:02:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586080085 ms) 2026-01-06 15:02:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586081116 ms) 2026-01-06 15:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586081117 ms) 2026-01-06 15:02:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:02:40.710728+00:00', 'runtime': '586080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586081118 ms) 2026-01-06 15:02:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:01:40.710715+00:00', 'runtime': '586020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586081118 ms) 2026-01-06 15:03:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586100091 ms) 2026-01-06 15:03:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586100092 ms) 2026-01-06 15:03:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:02:40.713231+00:00'} (T+586100095 ms) 2026-01-06 15:03:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586140076 ms) 2026-01-06 15:03:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586140077 ms) 2026-01-06 15:03:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586140077 ms) 2026-01-06 15:03:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586140077 ms) 2026-01-06 15:03:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586141113 ms) 2026-01-06 15:03:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586141114 ms) 2026-01-06 15:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:03:40.710713+00:00', 'runtime': '586140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586141116 ms) 2026-01-06 15:03:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:02:40.710728+00:00', 'runtime': '586080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586141116 ms) 2026-01-06 15:04:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586160086 ms) 2026-01-06 15:04:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586160087 ms) 2026-01-06 15:04:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:03:40.710858+00:00'} (T+586160090 ms) 2026-01-06 15:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586200083 ms) 2026-01-06 15:04:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586200084 ms) 2026-01-06 15:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586200084 ms) 2026-01-06 15:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586200084 ms) 2026-01-06 15:04:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586201123 ms) 2026-01-06 15:04:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586201124 ms) 2026-01-06 15:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:04:40.710764+00:00', 'runtime': '586200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586201126 ms) 2026-01-06 15:04:41.808 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:03:40.710713+00:00', 'runtime': '586140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586201130 ms) 2026-01-06 15:05:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586220087 ms) 2026-01-06 15:05:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586220088 ms) 2026-01-06 15:05:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:04:40.710851+00:00'} (T+586220091 ms) 2026-01-06 15:05:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586260084 ms) 2026-01-06 15:05:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586260084 ms) 2026-01-06 15:05:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586260084 ms) 2026-01-06 15:05:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586260085 ms) 2026-01-06 15:05:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586261122 ms) 2026-01-06 15:05:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586261123 ms) 2026-01-06 15:05:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:05:40.710760+00:00', 'runtime': '586260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586261125 ms) 2026-01-06 15:05:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:04:40.710764+00:00', 'runtime': '586200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586261126 ms) 2026-01-06 15:06:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586280087 ms) 2026-01-06 15:06:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586280088 ms) 2026-01-06 15:06:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:05:40.710857+00:00'} (T+586280095 ms) 2026-01-06 15:06:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586320077 ms) 2026-01-06 15:06:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586320077 ms) 2026-01-06 15:06:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586320078 ms) 2026-01-06 15:06:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586320078 ms) 2026-01-06 15:06:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586321112 ms) 2026-01-06 15:06:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586321113 ms) 2026-01-06 15:06:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:06:40.710730+00:00', 'runtime': '586320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586321115 ms) 2026-01-06 15:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:05:40.710760+00:00', 'runtime': '586260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586321116 ms) 2026-01-06 15:07:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586340091 ms) 2026-01-06 15:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586340092 ms) 2026-01-06 15:07:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:06:40.713235+00:00'} (T+586340095 ms) 2026-01-06 15:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586380083 ms) 2026-01-06 15:07:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586380083 ms) 2026-01-06 15:07:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586380084 ms) 2026-01-06 15:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586380084 ms) 2026-01-06 15:07:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586381116 ms) 2026-01-06 15:07:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586381116 ms) 2026-01-06 15:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:07:40.710743+00:00', 'runtime': '586380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586381117 ms) 2026-01-06 15:07:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:06:40.710730+00:00', 'runtime': '586320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586381117 ms) 2026-01-06 15:08:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586400093 ms) 2026-01-06 15:08:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586400094 ms) 2026-01-06 15:08:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:07:40.713235+00:00'} (T+586400097 ms) 2026-01-06 15:08:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586440082 ms) 2026-01-06 15:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586440083 ms) 2026-01-06 15:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586440083 ms) 2026-01-06 15:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586440084 ms) 2026-01-06 15:08:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586441121 ms) 2026-01-06 15:08:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586441122 ms) 2026-01-06 15:08:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:08:40.710762+00:00', 'runtime': '586440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586441124 ms) 2026-01-06 15:08:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:07:40.710743+00:00', 'runtime': '586380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586441125 ms) 2026-01-06 15:09:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586460087 ms) 2026-01-06 15:09:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586460088 ms) 2026-01-06 15:09:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:08:40.710846+00:00'} (T+586460091 ms) 2026-01-06 15:09:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586500083 ms) 2026-01-06 15:09:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586500083 ms) 2026-01-06 15:09:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586500084 ms) 2026-01-06 15:09:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586500084 ms) 2026-01-06 15:09:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586501119 ms) 2026-01-06 15:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586501119 ms) 2026-01-06 15:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:09:40.710742+00:00', 'runtime': '586500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586501120 ms) 2026-01-06 15:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:08:40.710762+00:00', 'runtime': '586440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586501121 ms) 2026-01-06 15:10:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586520092 ms) 2026-01-06 15:10:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586520093 ms) 2026-01-06 15:10:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:09:40.713234+00:00'} (T+586520096 ms) 2026-01-06 15:10:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586560077 ms) 2026-01-06 15:10:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586560078 ms) 2026-01-06 15:10:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586560078 ms) 2026-01-06 15:10:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586560079 ms) 2026-01-06 15:10:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586561115 ms) 2026-01-06 15:10:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586561116 ms) 2026-01-06 15:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:10:40.710741+00:00', 'runtime': '586560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586561118 ms) 2026-01-06 15:10:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:09:40.710742+00:00', 'runtime': '586500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586561119 ms) 2026-01-06 15:11:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586580089 ms) 2026-01-06 15:11:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586580090 ms) 2026-01-06 15:11:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:10:40.713237+00:00'} (T+586580093 ms) 2026-01-06 15:11:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586620083 ms) 2026-01-06 15:11:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586620083 ms) 2026-01-06 15:11:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586620083 ms) 2026-01-06 15:11:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586620084 ms) 2026-01-06 15:11:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586621117 ms) 2026-01-06 15:11:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586621117 ms) 2026-01-06 15:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:11:40.710722+00:00', 'runtime': '586620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586621118 ms) 2026-01-06 15:11:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:10:40.710741+00:00', 'runtime': '586560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586621118 ms) 2026-01-06 15:12:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586640088 ms) 2026-01-06 15:12:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586640089 ms) 2026-01-06 15:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:11:40.710839+00:00'} (T+586640093 ms) 2026-01-06 15:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586680082 ms) 2026-01-06 15:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586680083 ms) 2026-01-06 15:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586680083 ms) 2026-01-06 15:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586680084 ms) 2026-01-06 15:12:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586681116 ms) 2026-01-06 15:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586681116 ms) 2026-01-06 15:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:12:40.710745+00:00', 'runtime': '586680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586681117 ms) 2026-01-06 15:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:11:40.710722+00:00', 'runtime': '586620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586681118 ms) 2026-01-06 15:13:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586700087 ms) 2026-01-06 15:13:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586700088 ms) 2026-01-06 15:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:12:40.710843+00:00'} (T+586700091 ms) 2026-01-06 15:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586740083 ms) 2026-01-06 15:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586740084 ms) 2026-01-06 15:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586740084 ms) 2026-01-06 15:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586740084 ms) 2026-01-06 15:13:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586741117 ms) 2026-01-06 15:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586741117 ms) 2026-01-06 15:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:13:40.710748+00:00', 'runtime': '586740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586741118 ms) 2026-01-06 15:13:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:12:40.710745+00:00', 'runtime': '586680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586741120 ms) 2026-01-06 15:14:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586760087 ms) 2026-01-06 15:14:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586760088 ms) 2026-01-06 15:14:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:13:40.710835+00:00'} (T+586760091 ms) 2026-01-06 15:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586800083 ms) 2026-01-06 15:14:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586800084 ms) 2026-01-06 15:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586800084 ms) 2026-01-06 15:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586800084 ms) 2026-01-06 15:14:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586801123 ms) 2026-01-06 15:14:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586801124 ms) 2026-01-06 15:14:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:14:40.710794+00:00', 'runtime': '586800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586801126 ms) 2026-01-06 15:14:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:13:40.710748+00:00', 'runtime': '586740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586801127 ms) 2026-01-06 15:15:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586820087 ms) 2026-01-06 15:15:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586820088 ms) 2026-01-06 15:15:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:14:40.710882+00:00'} (T+586820091 ms) 2026-01-06 15:15:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586860082 ms) 2026-01-06 15:15:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586860083 ms) 2026-01-06 15:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586860083 ms) 2026-01-06 15:15:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586860083 ms) 2026-01-06 15:15:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586861116 ms) 2026-01-06 15:15:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586861116 ms) 2026-01-06 15:15:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:15:40.710711+00:00', 'runtime': '586860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586861119 ms) 2026-01-06 15:15:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:14:40.710794+00:00', 'runtime': '586800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586861120 ms) 2026-01-06 15:16:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586880087 ms) 2026-01-06 15:16:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586880088 ms) 2026-01-06 15:16:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:15:40.710829+00:00'} (T+586880091 ms) 2026-01-06 15:16:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586920076 ms) 2026-01-06 15:16:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586920077 ms) 2026-01-06 15:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586920077 ms) 2026-01-06 15:16:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586920077 ms) 2026-01-06 15:16:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586921113 ms) 2026-01-06 15:16:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586921114 ms) 2026-01-06 15:16:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:16:40.710696+00:00', 'runtime': '586920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586921116 ms) 2026-01-06 15:16:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:15:40.710711+00:00', 'runtime': '586860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586921117 ms) 2026-01-06 15:17:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586940088 ms) 2026-01-06 15:17:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+586940089 ms) 2026-01-06 15:17:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:16:40.710830+00:00'} (T+586940092 ms) 2026-01-06 15:17:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+586980076 ms) 2026-01-06 15:17:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+586980077 ms) 2026-01-06 15:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+586980077 ms) 2026-01-06 15:17:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+586980077 ms) 2026-01-06 15:17:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+586981112 ms) 2026-01-06 15:17:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+586981113 ms) 2026-01-06 15:17:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:17:40.710716+00:00', 'runtime': '586980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586981115 ms) 2026-01-06 15:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:16:40.710696+00:00', 'runtime': '586920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+586981116 ms) 2026-01-06 15:18:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587000083 ms) 2026-01-06 15:18:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587000084 ms) 2026-01-06 15:18:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:17:40.710857+00:00'} (T+587000087 ms) 2026-01-06 15:18:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587040082 ms) 2026-01-06 15:18:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587040083 ms) 2026-01-06 15:18:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587040083 ms) 2026-01-06 15:18:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587040084 ms) 2026-01-06 15:18:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587041121 ms) 2026-01-06 15:18:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587041122 ms) 2026-01-06 15:18:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:18:40.710739+00:00', 'runtime': '587040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587041125 ms) 2026-01-06 15:18:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:17:40.710716+00:00', 'runtime': '586980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587041126 ms) 2026-01-06 15:19:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587060088 ms) 2026-01-06 15:19:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587060089 ms) 2026-01-06 15:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:18:40.710862+00:00'} (T+587060091 ms) 2026-01-06 15:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587100083 ms) 2026-01-06 15:19:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587100083 ms) 2026-01-06 15:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587100084 ms) 2026-01-06 15:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587100084 ms) 2026-01-06 15:19:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587101117 ms) 2026-01-06 15:19:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587101117 ms) 2026-01-06 15:19:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:19:40.710708+00:00', 'runtime': '587100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587101118 ms) 2026-01-06 15:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:18:40.710739+00:00', 'runtime': '587040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587101119 ms) 2026-01-06 15:20:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587120087 ms) 2026-01-06 15:20:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587120088 ms) 2026-01-06 15:20:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:19:40.710866+00:00'} (T+587120090 ms) 2026-01-06 15:20:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587160054 ms) 2026-01-06 15:20:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587160054 ms) 2026-01-06 15:20:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587160054 ms) 2026-01-06 15:20:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587160054 ms) 2026-01-06 15:20:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587161080 ms) 2026-01-06 15:20:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587161081 ms) 2026-01-06 15:20:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:20:40.710540+00:00', 'runtime': '587160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587161082 ms) 2026-01-06 15:20:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:19:40.710708+00:00', 'runtime': '587100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587161082 ms) 2026-01-06 15:21:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587180071 ms) 2026-01-06 15:21:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587180072 ms) 2026-01-06 15:21:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:20:40.712973+00:00'} (T+587180075 ms) 2026-01-06 15:21:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587220082 ms) 2026-01-06 15:21:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587220083 ms) 2026-01-06 15:21:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587220083 ms) 2026-01-06 15:21:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587220084 ms) 2026-01-06 15:21:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587221119 ms) 2026-01-06 15:21:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587221119 ms) 2026-01-06 15:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:21:40.710797+00:00', 'runtime': '587220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587221120 ms) 2026-01-06 15:21:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:20:40.710540+00:00', 'runtime': '587160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587221120 ms) 2026-01-06 15:22:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587240085 ms) 2026-01-06 15:22:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587240086 ms) 2026-01-06 15:22:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:21:40.710889+00:00'} (T+587240089 ms) 2026-01-06 15:22:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587280085 ms) 2026-01-06 15:22:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587280085 ms) 2026-01-06 15:22:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587280086 ms) 2026-01-06 15:22:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587280086 ms) 2026-01-06 15:22:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587281113 ms) 2026-01-06 15:22:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587281114 ms) 2026-01-06 15:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:22:40.713178+00:00', 'runtime': '587280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587281115 ms) 2026-01-06 15:22:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:21:40.710797+00:00', 'runtime': '587220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587281115 ms) 2026-01-06 15:23:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587300088 ms) 2026-01-06 15:23:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587300089 ms) 2026-01-06 15:23:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:22:40.710817+00:00'} (T+587300092 ms) 2026-01-06 15:23:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587340083 ms) 2026-01-06 15:23:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587340084 ms) 2026-01-06 15:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587340084 ms) 2026-01-06 15:23:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587340084 ms) 2026-01-06 15:23:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587341122 ms) 2026-01-06 15:23:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587341123 ms) 2026-01-06 15:23:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:23:40.710758+00:00', 'runtime': '587340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587341125 ms) 2026-01-06 15:23:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:22:40.713178+00:00', 'runtime': '587280.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587341126 ms) 2026-01-06 15:24:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587360087 ms) 2026-01-06 15:24:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587360088 ms) 2026-01-06 15:24:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:23:40.710847+00:00'} (T+587360091 ms) 2026-01-06 15:24:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587400077 ms) 2026-01-06 15:24:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587400077 ms) 2026-01-06 15:24:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587400078 ms) 2026-01-06 15:24:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587400078 ms) 2026-01-06 15:24:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587401112 ms) 2026-01-06 15:24:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587401113 ms) 2026-01-06 15:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:24:40.710715+00:00', 'runtime': '587400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587401115 ms) 2026-01-06 15:24:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:23:40.710758+00:00', 'runtime': '587340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587401116 ms) 2026-01-06 15:25:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587420089 ms) 2026-01-06 15:25:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587420090 ms) 2026-01-06 15:25:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:24:40.710847+00:00'} (T+587420093 ms) 2026-01-06 15:25:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587460083 ms) 2026-01-06 15:25:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587460084 ms) 2026-01-06 15:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587460084 ms) 2026-01-06 15:25:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587460085 ms) 2026-01-06 15:25:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587461119 ms) 2026-01-06 15:25:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587461119 ms) 2026-01-06 15:25:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:25:40.710738+00:00', 'runtime': '587460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587461120 ms) 2026-01-06 15:25:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:24:40.710715+00:00', 'runtime': '587400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587461121 ms) 2026-01-06 15:26:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587480088 ms) 2026-01-06 15:26:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587480089 ms) 2026-01-06 15:26:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:25:40.710845+00:00'} (T+587480092 ms) 2026-01-06 15:26:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587520084 ms) 2026-01-06 15:26:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587520084 ms) 2026-01-06 15:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587520085 ms) 2026-01-06 15:26:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587520085 ms) 2026-01-06 15:26:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587521123 ms) 2026-01-06 15:26:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587521124 ms) 2026-01-06 15:26:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:26:40.710749+00:00', 'runtime': '587520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587521126 ms) 2026-01-06 15:26:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:25:40.710738+00:00', 'runtime': '587460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587521127 ms) 2026-01-06 15:27:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587540091 ms) 2026-01-06 15:27:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587540092 ms) 2026-01-06 15:27:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:26:40.713241+00:00'} (T+587540094 ms) 2026-01-06 15:27:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587580083 ms) 2026-01-06 15:27:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587580084 ms) 2026-01-06 15:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587580084 ms) 2026-01-06 15:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587580084 ms) 2026-01-06 15:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587581119 ms) 2026-01-06 15:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587581119 ms) 2026-01-06 15:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:27:40.710716+00:00', 'runtime': '587580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587581120 ms) 2026-01-06 15:27:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:26:40.710749+00:00', 'runtime': '587520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587581122 ms) 2026-01-06 15:28:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587600092 ms) 2026-01-06 15:28:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587600093 ms) 2026-01-06 15:28:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:27:40.713227+00:00'} (T+587600096 ms) 2026-01-06 15:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587640083 ms) 2026-01-06 15:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587640083 ms) 2026-01-06 15:28:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587640084 ms) 2026-01-06 15:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587640084 ms) 2026-01-06 15:28:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587641122 ms) 2026-01-06 15:28:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587641123 ms) 2026-01-06 15:28:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:28:40.710763+00:00', 'runtime': '587640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587641125 ms) 2026-01-06 15:28:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:27:40.710716+00:00', 'runtime': '587580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587641126 ms) 2026-01-06 15:29:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587660092 ms) 2026-01-06 15:29:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587660094 ms) 2026-01-06 15:29:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:28:40.713233+00:00'} (T+587660096 ms) 2026-01-06 15:29:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587700083 ms) 2026-01-06 15:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587700084 ms) 2026-01-06 15:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587700084 ms) 2026-01-06 15:29:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587700084 ms) 2026-01-06 15:29:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587701117 ms) 2026-01-06 15:29:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587701118 ms) 2026-01-06 15:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:29:40.710701+00:00', 'runtime': '587700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587701119 ms) 2026-01-06 15:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:28:40.710763+00:00', 'runtime': '587640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587701119 ms) 2026-01-06 15:30:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587720092 ms) 2026-01-06 15:30:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587720093 ms) 2026-01-06 15:30:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:29:40.713242+00:00'} (T+587720096 ms) 2026-01-06 15:30:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587760082 ms) 2026-01-06 15:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587760083 ms) 2026-01-06 15:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587760083 ms) 2026-01-06 15:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587760084 ms) 2026-01-06 15:30:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587761115 ms) 2026-01-06 15:30:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587761116 ms) 2026-01-06 15:30:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:30:40.710738+00:00', 'runtime': '587760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587761117 ms) 2026-01-06 15:30:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:29:40.710701+00:00', 'runtime': '587700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587761117 ms) 2026-01-06 15:31:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587780091 ms) 2026-01-06 15:31:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587780092 ms) 2026-01-06 15:31:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:30:40.710842+00:00'} (T+587780094 ms) 2026-01-06 15:31:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587820083 ms) 2026-01-06 15:31:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587820083 ms) 2026-01-06 15:31:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587820083 ms) 2026-01-06 15:31:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587820084 ms) 2026-01-06 15:31:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587821119 ms) 2026-01-06 15:31:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587821119 ms) 2026-01-06 15:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:31:40.710728+00:00', 'runtime': '587820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587821120 ms) 2026-01-06 15:31:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:30:40.710738+00:00', 'runtime': '587760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587821120 ms) 2026-01-06 15:32:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587840087 ms) 2026-01-06 15:32:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587840088 ms) 2026-01-06 15:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:31:40.710850+00:00'} (T+587840091 ms) 2026-01-06 15:32:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587880077 ms) 2026-01-06 15:32:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587880078 ms) 2026-01-06 15:32:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587880078 ms) 2026-01-06 15:32:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587880078 ms) 2026-01-06 15:32:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587881115 ms) 2026-01-06 15:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587881116 ms) 2026-01-06 15:32:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:32:40.710746+00:00', 'runtime': '587880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587881121 ms) 2026-01-06 15:32:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:31:40.710728+00:00', 'runtime': '587820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587881122 ms) 2026-01-06 15:33:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587900089 ms) 2026-01-06 15:33:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587900090 ms) 2026-01-06 15:33:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:32:40.710850+00:00'} (T+587900094 ms) 2026-01-06 15:33:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+587940085 ms) 2026-01-06 15:33:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+587940085 ms) 2026-01-06 15:33:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+587940085 ms) 2026-01-06 15:33:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+587940086 ms) 2026-01-06 15:33:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+587941119 ms) 2026-01-06 15:33:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+587941120 ms) 2026-01-06 15:33:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:33:40.713165+00:00', 'runtime': '587940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587941122 ms) 2026-01-06 15:33:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:32:40.710746+00:00', 'runtime': '587880.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+587941122 ms) 2026-01-06 15:34:00.764 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587960086 ms) 2026-01-06 15:34:00.766 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+587960087 ms) 2026-01-06 15:34:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:33:40.710801+00:00'} (T+587960090 ms) 2026-01-06 15:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588000083 ms) 2026-01-06 15:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588000084 ms) 2026-01-06 15:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588000084 ms) 2026-01-06 15:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588000084 ms) 2026-01-06 15:34:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588001117 ms) 2026-01-06 15:34:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588001117 ms) 2026-01-06 15:34:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:34:40.710728+00:00', 'runtime': '588000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588001118 ms) 2026-01-06 15:34:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:33:40.713165+00:00', 'runtime': '587940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588001118 ms) 2026-01-06 15:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588020090 ms) 2026-01-06 15:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588020091 ms) 2026-01-06 15:35:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:34:40.710819+00:00'} (T+588020094 ms) 2026-01-06 15:35:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588060054 ms) 2026-01-06 15:35:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588060054 ms) 2026-01-06 15:35:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588060054 ms) 2026-01-06 15:35:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588060054 ms) 2026-01-06 15:35:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588061080 ms) 2026-01-06 15:35:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588061080 ms) 2026-01-06 15:35:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:35:40.710537+00:00', 'runtime': '588060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588061081 ms) 2026-01-06 15:35:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:34:40.710728+00:00', 'runtime': '588000.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588061082 ms) 2026-01-06 15:36:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588080068 ms) 2026-01-06 15:36:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588080069 ms) 2026-01-06 15:36:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:35:40.710617+00:00'} (T+588080072 ms) 2026-01-06 15:36:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588120083 ms) 2026-01-06 15:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588120083 ms) 2026-01-06 15:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588120084 ms) 2026-01-06 15:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588120084 ms) 2026-01-06 15:36:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588121116 ms) 2026-01-06 15:36:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588121117 ms) 2026-01-06 15:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:36:40.710775+00:00', 'runtime': '588120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588121118 ms) 2026-01-06 15:36:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:35:40.710537+00:00', 'runtime': '588060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588121118 ms) 2026-01-06 15:37:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588140090 ms) 2026-01-06 15:37:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588140091 ms) 2026-01-06 15:37:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:36:40.710879+00:00'} (T+588140094 ms) 2026-01-06 15:37:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588180077 ms) 2026-01-06 15:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588180077 ms) 2026-01-06 15:37:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588180078 ms) 2026-01-06 15:37:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588180078 ms) 2026-01-06 15:37:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588181113 ms) 2026-01-06 15:37:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588181114 ms) 2026-01-06 15:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:37:40.710713+00:00', 'runtime': '588180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588181116 ms) 2026-01-06 15:37:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:36:40.710775+00:00', 'runtime': '588120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588181117 ms) 2026-01-06 15:38:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588200088 ms) 2026-01-06 15:38:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588200089 ms) 2026-01-06 15:38:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:37:40.710866+00:00'} (T+588200091 ms) 2026-01-06 15:38:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588240083 ms) 2026-01-06 15:38:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588240083 ms) 2026-01-06 15:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588240083 ms) 2026-01-06 15:38:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588240083 ms) 2026-01-06 15:38:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588241117 ms) 2026-01-06 15:38:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588241118 ms) 2026-01-06 15:38:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:38:40.710714+00:00', 'runtime': '588240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588241120 ms) 2026-01-06 15:38:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:37:40.710713+00:00', 'runtime': '588180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588241121 ms) 2026-01-06 15:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588260090 ms) 2026-01-06 15:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588260091 ms) 2026-01-06 15:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:38:40.710863+00:00'} (T+588260094 ms) 2026-01-06 15:39:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588300083 ms) 2026-01-06 15:39:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588300084 ms) 2026-01-06 15:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588300084 ms) 2026-01-06 15:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588300085 ms) 2026-01-06 15:39:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588301122 ms) 2026-01-06 15:39:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588301123 ms) 2026-01-06 15:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:39:40.710717+00:00', 'runtime': '588300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588301125 ms) 2026-01-06 15:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:38:40.710714+00:00', 'runtime': '588240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588301126 ms) 2026-01-06 15:40:00.772 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588320093 ms) 2026-01-06 15:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588320094 ms) 2026-01-06 15:40:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:39:40.713231+00:00'} (T+588320097 ms) 2026-01-06 15:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588360082 ms) 2026-01-06 15:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588360083 ms) 2026-01-06 15:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588360083 ms) 2026-01-06 15:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588360084 ms) 2026-01-06 15:40:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588361124 ms) 2026-01-06 15:40:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588361125 ms) 2026-01-06 15:40:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:40:40.710761+00:00', 'runtime': '588360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588361127 ms) 2026-01-06 15:40:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:39:40.710717+00:00', 'runtime': '588300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588361128 ms) 2026-01-06 15:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588380088 ms) 2026-01-06 15:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588380089 ms) 2026-01-06 15:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:40:40.710864+00:00'} (T+588380091 ms) 2026-01-06 15:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588420082 ms) 2026-01-06 15:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588420083 ms) 2026-01-06 15:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588420083 ms) 2026-01-06 15:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588420083 ms) 2026-01-06 15:41:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588421120 ms) 2026-01-06 15:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588421120 ms) 2026-01-06 15:41:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:41:40.710756+00:00', 'runtime': '588420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588421121 ms) 2026-01-06 15:41:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:40:40.710761+00:00', 'runtime': '588360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588421121 ms) 2026-01-06 15:42:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588440088 ms) 2026-01-06 15:42:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588440089 ms) 2026-01-06 15:42:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:41:40.710851+00:00'} (T+588440092 ms) 2026-01-06 15:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588480083 ms) 2026-01-06 15:42:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588480083 ms) 2026-01-06 15:42:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588480084 ms) 2026-01-06 15:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588480084 ms) 2026-01-06 15:42:41.802 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588481123 ms) 2026-01-06 15:42:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588481124 ms) 2026-01-06 15:42:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:42:40.710762+00:00', 'runtime': '588480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588481127 ms) 2026-01-06 15:42:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:41:40.710756+00:00', 'runtime': '588420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588481128 ms) 2026-01-06 15:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588500090 ms) 2026-01-06 15:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588500091 ms) 2026-01-06 15:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:42:40.710857+00:00'} (T+588500094 ms) 2026-01-06 15:43:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588540082 ms) 2026-01-06 15:43:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588540083 ms) 2026-01-06 15:43:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588540083 ms) 2026-01-06 15:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588540084 ms) 2026-01-06 15:43:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588541117 ms) 2026-01-06 15:43:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588541117 ms) 2026-01-06 15:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:43:40.710737+00:00', 'runtime': '588540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588541118 ms) 2026-01-06 15:43:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:42:40.710762+00:00', 'runtime': '588480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588541119 ms) 2026-01-06 15:44:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588560087 ms) 2026-01-06 15:44:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588560088 ms) 2026-01-06 15:44:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:43:40.710847+00:00'} (T+588560090 ms) 2026-01-06 15:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588600083 ms) 2026-01-06 15:44:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588600083 ms) 2026-01-06 15:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588600084 ms) 2026-01-06 15:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588600084 ms) 2026-01-06 15:44:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588601119 ms) 2026-01-06 15:44:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588601119 ms) 2026-01-06 15:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:44:40.710772+00:00', 'runtime': '588600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588601120 ms) 2026-01-06 15:44:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:43:40.710737+00:00', 'runtime': '588540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588601121 ms) 2026-01-06 15:45:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588620093 ms) 2026-01-06 15:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588620094 ms) 2026-01-06 15:45:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:44:40.713233+00:00'} (T+588620097 ms) 2026-01-06 15:45:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588660054 ms) 2026-01-06 15:45:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588660054 ms) 2026-01-06 15:45:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588660054 ms) 2026-01-06 15:45:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588660054 ms) 2026-01-06 15:45:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588661079 ms) 2026-01-06 15:45:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588661080 ms) 2026-01-06 15:45:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:45:40.710552+00:00', 'runtime': '588660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588661081 ms) 2026-01-06 15:45:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:44:40.710772+00:00', 'runtime': '588600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588661081 ms) 2026-01-06 15:46:00.748 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588680069 ms) 2026-01-06 15:46:00.749 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588680070 ms) 2026-01-06 15:46:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:45:40.710593+00:00'} (T+588680073 ms) 2026-01-06 15:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588720083 ms) 2026-01-06 15:46:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588720083 ms) 2026-01-06 15:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588720084 ms) 2026-01-06 15:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588720084 ms) 2026-01-06 15:46:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588721124 ms) 2026-01-06 15:46:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588721125 ms) 2026-01-06 15:46:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:46:40.710817+00:00', 'runtime': '588720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588721127 ms) 2026-01-06 15:46:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:45:40.710552+00:00', 'runtime': '588660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588721128 ms) 2026-01-06 15:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588740090 ms) 2026-01-06 15:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588740091 ms) 2026-01-06 15:47:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:46:40.710904+00:00'} (T+588740097 ms) 2026-01-06 15:47:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588780078 ms) 2026-01-06 15:47:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588780079 ms) 2026-01-06 15:47:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588780079 ms) 2026-01-06 15:47:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588780079 ms) 2026-01-06 15:47:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588781118 ms) 2026-01-06 15:47:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588781119 ms) 2026-01-06 15:47:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:47:40.710694+00:00', 'runtime': '588780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588781121 ms) 2026-01-06 15:47:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:46:40.710817+00:00', 'runtime': '588720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588781122 ms) 2026-01-06 15:48:00.760 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588800081 ms) 2026-01-06 15:48:00.761 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588800082 ms) 2026-01-06 15:48:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:47:40.710824+00:00'} (T+588800085 ms) 2026-01-06 15:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588840083 ms) 2026-01-06 15:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588840083 ms) 2026-01-06 15:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588840084 ms) 2026-01-06 15:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588840084 ms) 2026-01-06 15:48:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588841113 ms) 2026-01-06 15:48:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588841114 ms) 2026-01-06 15:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:48:40.710695+00:00', 'runtime': '588840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588841115 ms) 2026-01-06 15:48:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:47:40.710694+00:00', 'runtime': '588780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588841115 ms) 2026-01-06 15:49:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588860088 ms) 2026-01-06 15:49:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588860089 ms) 2026-01-06 15:49:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:48:40.710852+00:00'} (T+588860092 ms) 2026-01-06 15:49:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588900079 ms) 2026-01-06 15:49:40.758 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588900079 ms) 2026-01-06 15:49:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588900079 ms) 2026-01-06 15:49:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588900080 ms) 2026-01-06 15:49:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588901115 ms) 2026-01-06 15:49:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588901116 ms) 2026-01-06 15:49:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:49:40.710722+00:00', 'runtime': '588900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588901118 ms) 2026-01-06 15:49:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:48:40.710695+00:00', 'runtime': '588840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588901119 ms) 2026-01-06 15:50:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588920083 ms) 2026-01-06 15:50:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588920084 ms) 2026-01-06 15:50:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:49:40.710851+00:00'} (T+588920086 ms) 2026-01-06 15:50:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+588960083 ms) 2026-01-06 15:50:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+588960083 ms) 2026-01-06 15:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+588960084 ms) 2026-01-06 15:50:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+588960084 ms) 2026-01-06 15:50:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+588961117 ms) 2026-01-06 15:50:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+588961117 ms) 2026-01-06 15:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:50:40.710734+00:00', 'runtime': '588960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588961118 ms) 2026-01-06 15:50:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:49:40.710722+00:00', 'runtime': '588900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+588961118 ms) 2026-01-06 15:51:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588980090 ms) 2026-01-06 15:51:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+588980092 ms) 2026-01-06 15:51:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:50:40.710858+00:00'} (T+588980095 ms) 2026-01-06 15:51:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589020083 ms) 2026-01-06 15:51:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589020083 ms) 2026-01-06 15:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589020084 ms) 2026-01-06 15:51:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589020084 ms) 2026-01-06 15:51:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589021119 ms) 2026-01-06 15:51:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589021120 ms) 2026-01-06 15:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:51:40.710742+00:00', 'runtime': '589020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589021122 ms) 2026-01-06 15:51:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:50:40.710734+00:00', 'runtime': '588960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589021123 ms) 2026-01-06 15:52:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589040087 ms) 2026-01-06 15:52:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589040088 ms) 2026-01-06 15:52:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:51:40.710853+00:00'} (T+589040091 ms) 2026-01-06 15:52:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589080083 ms) 2026-01-06 15:52:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589080083 ms) 2026-01-06 15:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589080084 ms) 2026-01-06 15:52:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589080084 ms) 2026-01-06 15:52:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589081112 ms) 2026-01-06 15:52:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589081112 ms) 2026-01-06 15:52:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:52:40.710722+00:00', 'runtime': '589080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589081113 ms) 2026-01-06 15:52:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:51:40.710742+00:00', 'runtime': '589020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589081113 ms) 2026-01-06 15:53:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589100090 ms) 2026-01-06 15:53:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589100091 ms) 2026-01-06 15:53:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:52:40.710849+00:00'} (T+589100094 ms) 2026-01-06 15:53:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589140082 ms) 2026-01-06 15:53:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589140083 ms) 2026-01-06 15:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589140083 ms) 2026-01-06 15:53:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589140083 ms) 2026-01-06 15:53:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589141117 ms) 2026-01-06 15:53:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589141118 ms) 2026-01-06 15:53:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:53:40.710726+00:00', 'runtime': '589140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589141118 ms) 2026-01-06 15:53:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:52:40.710722+00:00', 'runtime': '589080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589141119 ms) 2026-01-06 15:54:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589160090 ms) 2026-01-06 15:54:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589160091 ms) 2026-01-06 15:54:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:53:40.710877+00:00'} (T+589160093 ms) 2026-01-06 15:54:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589200082 ms) 2026-01-06 15:54:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589200083 ms) 2026-01-06 15:54:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589200083 ms) 2026-01-06 15:54:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589200084 ms) 2026-01-06 15:54:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589201121 ms) 2026-01-06 15:54:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589201122 ms) 2026-01-06 15:54:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:54:40.710749+00:00', 'runtime': '589200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589201124 ms) 2026-01-06 15:54:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:53:40.710726+00:00', 'runtime': '589140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589201125 ms) 2026-01-06 15:55:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589220090 ms) 2026-01-06 15:55:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589220091 ms) 2026-01-06 15:55:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:54:40.710852+00:00'} (T+589220094 ms) 2026-01-06 15:55:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589260053 ms) 2026-01-06 15:55:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589260054 ms) 2026-01-06 15:55:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589260054 ms) 2026-01-06 15:55:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589260054 ms) 2026-01-06 15:55:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589261082 ms) 2026-01-06 15:55:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589261083 ms) 2026-01-06 15:55:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:55:40.710520+00:00', 'runtime': '589260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589261084 ms) 2026-01-06 15:55:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:54:40.710749+00:00', 'runtime': '589200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589261084 ms) 2026-01-06 15:56:00.746 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589280067 ms) 2026-01-06 15:56:00.747 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589280069 ms) 2026-01-06 15:56:00.750 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:55:40.710611+00:00'} (T+589280071 ms) 2026-01-06 15:56:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589320082 ms) 2026-01-06 15:56:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589320083 ms) 2026-01-06 15:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589320083 ms) 2026-01-06 15:56:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589320084 ms) 2026-01-06 15:56:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589321119 ms) 2026-01-06 15:56:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589321119 ms) 2026-01-06 15:56:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:56:40.710779+00:00', 'runtime': '589320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589321120 ms) 2026-01-06 15:56:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:55:40.710520+00:00', 'runtime': '589260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589321121 ms) 2026-01-06 15:57:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589340090 ms) 2026-01-06 15:57:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589340091 ms) 2026-01-06 15:57:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:56:40.710872+00:00'} (T+589340094 ms) 2026-01-06 15:57:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589380083 ms) 2026-01-06 15:57:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589380083 ms) 2026-01-06 15:57:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589380084 ms) 2026-01-06 15:57:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589380084 ms) 2026-01-06 15:57:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589381116 ms) 2026-01-06 15:57:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589381116 ms) 2026-01-06 15:57:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:57:40.710732+00:00', 'runtime': '589380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589381117 ms) 2026-01-06 15:57:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:56:40.710779+00:00', 'runtime': '589320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589381118 ms) 2026-01-06 15:58:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589400088 ms) 2026-01-06 15:58:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589400089 ms) 2026-01-06 15:58:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:57:40.710846+00:00'} (T+589400092 ms) 2026-01-06 15:58:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589440077 ms) 2026-01-06 15:58:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589440077 ms) 2026-01-06 15:58:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589440077 ms) 2026-01-06 15:58:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589440078 ms) 2026-01-06 15:58:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589441114 ms) 2026-01-06 15:58:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589441115 ms) 2026-01-06 15:58:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:58:40.710707+00:00', 'runtime': '589440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589441117 ms) 2026-01-06 15:58:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:57:40.710732+00:00', 'runtime': '589380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589441118 ms) 2026-01-06 15:59:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589460088 ms) 2026-01-06 15:59:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589460089 ms) 2026-01-06 15:59:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:58:40.710812+00:00'} (T+589460091 ms) 2026-01-06 15:59:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589500082 ms) 2026-01-06 15:59:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589500083 ms) 2026-01-06 15:59:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589500083 ms) 2026-01-06 15:59:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589500084 ms) 2026-01-06 15:59:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589501117 ms) 2026-01-06 15:59:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589501117 ms) 2026-01-06 15:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 15:59:40.710720+00:00', 'runtime': '589500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589501118 ms) 2026-01-06 15:59:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:58:40.710707+00:00', 'runtime': '589440.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589501119 ms) 2026-01-06 16:00:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589520092 ms) 2026-01-06 16:00:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589520093 ms) 2026-01-06 16:00:00.775 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 15:59:40.713229+00:00'} (T+589520096 ms) 2026-01-06 16:00:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589560053 ms) 2026-01-06 16:00:40.732 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589560054 ms) 2026-01-06 16:00:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589560054 ms) 2026-01-06 16:00:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589560054 ms) 2026-01-06 16:00:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589561080 ms) 2026-01-06 16:00:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589561081 ms) 2026-01-06 16:00:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:00:40.710554+00:00', 'runtime': '589560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589561082 ms) 2026-01-06 16:00:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 15:59:40.710720+00:00', 'runtime': '589500.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589561082 ms) 2026-01-06 16:01:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589580071 ms) 2026-01-06 16:01:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589580072 ms) 2026-01-06 16:01:00.753 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:00:40.710609+00:00'} (T+589580074 ms) 2026-01-06 16:01:40.757 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589620078 ms) 2026-01-06 16:01:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589620078 ms) 2026-01-06 16:01:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589620078 ms) 2026-01-06 16:01:40.758 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589620079 ms) 2026-01-06 16:01:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589621115 ms) 2026-01-06 16:01:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589621116 ms) 2026-01-06 16:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:01:40.710746+00:00', 'runtime': '589620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589621118 ms) 2026-01-06 16:01:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:00:40.710554+00:00', 'runtime': '589560.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589621119 ms) 2026-01-06 16:02:00.768 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589640089 ms) 2026-01-06 16:02:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589640090 ms) 2026-01-06 16:02:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:01:40.710864+00:00'} (T+589640093 ms) 2026-01-06 16:02:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589680083 ms) 2026-01-06 16:02:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589680084 ms) 2026-01-06 16:02:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589680084 ms) 2026-01-06 16:02:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589680085 ms) 2026-01-06 16:02:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589681123 ms) 2026-01-06 16:02:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589681124 ms) 2026-01-06 16:02:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:02:40.710723+00:00', 'runtime': '589680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589681127 ms) 2026-01-06 16:02:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:01:40.710746+00:00', 'runtime': '589620.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589681128 ms) 2026-01-06 16:03:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589700088 ms) 2026-01-06 16:03:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589700090 ms) 2026-01-06 16:03:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:02:40.710836+00:00'} (T+589700094 ms) 2026-01-06 16:03:40.756 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589740077 ms) 2026-01-06 16:03:40.757 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589740078 ms) 2026-01-06 16:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589740078 ms) 2026-01-06 16:03:40.757 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589740078 ms) 2026-01-06 16:03:41.790 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589741112 ms) 2026-01-06 16:03:41.791 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589741112 ms) 2026-01-06 16:03:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:03:40.710683+00:00', 'runtime': '589740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589741114 ms) 2026-01-06 16:03:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:02:40.710723+00:00', 'runtime': '589680.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589741115 ms) 2026-01-06 16:04:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589760087 ms) 2026-01-06 16:04:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589760088 ms) 2026-01-06 16:04:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:03:40.710848+00:00'} (T+589760091 ms) 2026-01-06 16:04:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589800083 ms) 2026-01-06 16:04:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589800084 ms) 2026-01-06 16:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589800084 ms) 2026-01-06 16:04:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589800085 ms) 2026-01-06 16:04:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589801122 ms) 2026-01-06 16:04:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589801123 ms) 2026-01-06 16:04:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:04:40.710765+00:00', 'runtime': '589800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589801125 ms) 2026-01-06 16:04:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:03:40.710683+00:00', 'runtime': '589740.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589801126 ms) 2026-01-06 16:05:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589820091 ms) 2026-01-06 16:05:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589820092 ms) 2026-01-06 16:05:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:04:40.710862+00:00'} (T+589820095 ms) 2026-01-06 16:05:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589860054 ms) 2026-01-06 16:05:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589860054 ms) 2026-01-06 16:05:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589860054 ms) 2026-01-06 16:05:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589860054 ms) 2026-01-06 16:05:41.765 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589861086 ms) 2026-01-06 16:05:41.766 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589861087 ms) 2026-01-06 16:05:41.768 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:05:40.710523+00:00', 'runtime': '589860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589861089 ms) 2026-01-06 16:05:41.769 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:04:40.710765+00:00', 'runtime': '589800.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589861090 ms) 2026-01-06 16:06:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589880072 ms) 2026-01-06 16:06:00.752 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589880073 ms) 2026-01-06 16:06:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:05:40.710616+00:00'} (T+589880075 ms) 2026-01-06 16:06:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589920083 ms) 2026-01-06 16:06:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589920083 ms) 2026-01-06 16:06:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589920083 ms) 2026-01-06 16:06:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589920084 ms) 2026-01-06 16:06:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589921116 ms) 2026-01-06 16:06:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589921117 ms) 2026-01-06 16:06:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:06:40.710762+00:00', 'runtime': '589920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589921118 ms) 2026-01-06 16:06:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:05:40.710523+00:00', 'runtime': '589860.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589921118 ms) 2026-01-06 16:07:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589940088 ms) 2026-01-06 16:07:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+589940089 ms) 2026-01-06 16:07:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:06:40.710893+00:00'} (T+589940092 ms) 2026-01-06 16:07:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+589980083 ms) 2026-01-06 16:07:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+589980084 ms) 2026-01-06 16:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+589980084 ms) 2026-01-06 16:07:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+589980084 ms) 2026-01-06 16:07:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+589981120 ms) 2026-01-06 16:07:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+589981121 ms) 2026-01-06 16:07:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:07:40.710758+00:00', 'runtime': '589980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589981125 ms) 2026-01-06 16:07:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:06:40.710762+00:00', 'runtime': '589920.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+589981126 ms) 2026-01-06 16:08:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590000088 ms) 2026-01-06 16:08:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590000089 ms) 2026-01-06 16:08:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:07:40.710855+00:00'} (T+590000092 ms) 2026-01-06 16:08:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590040083 ms) 2026-01-06 16:08:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590040083 ms) 2026-01-06 16:08:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590040084 ms) 2026-01-06 16:08:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590040084 ms) 2026-01-06 16:08:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590041122 ms) 2026-01-06 16:08:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590041123 ms) 2026-01-06 16:08:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:08:40.710750+00:00', 'runtime': '590040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590041126 ms) 2026-01-06 16:08:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:07:40.710758+00:00', 'runtime': '589980.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590041127 ms) 2026-01-06 16:09:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590060089 ms) 2026-01-06 16:09:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590060090 ms) 2026-01-06 16:09:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:08:40.710860+00:00'} (T+590060093 ms) 2026-01-06 16:09:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590100075 ms) 2026-01-06 16:09:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590100076 ms) 2026-01-06 16:09:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590100076 ms) 2026-01-06 16:09:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590100076 ms) 2026-01-06 16:09:41.794 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590101115 ms) 2026-01-06 16:09:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590101116 ms) 2026-01-06 16:09:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:09:40.710742+00:00', 'runtime': '590100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590101119 ms) 2026-01-06 16:09:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:08:40.710750+00:00', 'runtime': '590040.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590101120 ms) 2026-01-06 16:10:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590120087 ms) 2026-01-06 16:10:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590120088 ms) 2026-01-06 16:10:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:09:40.710864+00:00'} (T+590120091 ms) 2026-01-06 16:10:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590160054 ms) 2026-01-06 16:10:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590160054 ms) 2026-01-06 16:10:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590160054 ms) 2026-01-06 16:10:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590160054 ms) 2026-01-06 16:10:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590161082 ms) 2026-01-06 16:10:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590161082 ms) 2026-01-06 16:10:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:10:40.710517+00:00', 'runtime': '590160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590161084 ms) 2026-01-06 16:10:41.763 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:09:40.710742+00:00', 'runtime': '590100.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590161084 ms) 2026-01-06 16:11:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590180071 ms) 2026-01-06 16:11:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590180072 ms) 2026-01-06 16:11:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:10:40.712955+00:00'} (T+590180075 ms) 2026-01-06 16:11:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590220084 ms) 2026-01-06 16:11:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590220084 ms) 2026-01-06 16:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590220085 ms) 2026-01-06 16:11:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590220085 ms) 2026-01-06 16:11:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590221119 ms) 2026-01-06 16:11:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590221119 ms) 2026-01-06 16:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:11:40.710767+00:00', 'runtime': '590220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590221120 ms) 2026-01-06 16:11:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:10:40.710517+00:00', 'runtime': '590160.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590221120 ms) 2026-01-06 16:12:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590240091 ms) 2026-01-06 16:12:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590240092 ms) 2026-01-06 16:12:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:11:40.713232+00:00'} (T+590240094 ms) 2026-01-06 16:12:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590280082 ms) 2026-01-06 16:12:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590280083 ms) 2026-01-06 16:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590280083 ms) 2026-01-06 16:12:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590280084 ms) 2026-01-06 16:12:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590281116 ms) 2026-01-06 16:12:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590281116 ms) 2026-01-06 16:12:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:12:40.710733+00:00', 'runtime': '590280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590281117 ms) 2026-01-06 16:12:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:11:40.710767+00:00', 'runtime': '590220.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590281118 ms) 2026-01-06 16:13:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590300090 ms) 2026-01-06 16:13:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590300091 ms) 2026-01-06 16:13:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:12:40.710848+00:00'} (T+590300094 ms) 2026-01-06 16:13:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590340083 ms) 2026-01-06 16:13:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590340083 ms) 2026-01-06 16:13:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590340084 ms) 2026-01-06 16:13:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590340084 ms) 2026-01-06 16:13:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590341116 ms) 2026-01-06 16:13:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590341117 ms) 2026-01-06 16:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:13:40.710786+00:00', 'runtime': '590340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590341118 ms) 2026-01-06 16:13:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:12:40.710733+00:00', 'runtime': '590280.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590341118 ms) 2026-01-06 16:14:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590360091 ms) 2026-01-06 16:14:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590360092 ms) 2026-01-06 16:14:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:13:40.710881+00:00'} (T+590360095 ms) 2026-01-06 16:14:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590400083 ms) 2026-01-06 16:14:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590400084 ms) 2026-01-06 16:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590400084 ms) 2026-01-06 16:14:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590400085 ms) 2026-01-06 16:14:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590401117 ms) 2026-01-06 16:14:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590401118 ms) 2026-01-06 16:14:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:14:40.710752+00:00', 'runtime': '590400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590401119 ms) 2026-01-06 16:14:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:13:40.710786+00:00', 'runtime': '590340.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590401119 ms) 2026-01-06 16:15:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590420088 ms) 2026-01-06 16:15:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590420089 ms) 2026-01-06 16:15:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:14:40.710852+00:00'} (T+590420092 ms) 2026-01-06 16:15:40.733 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590460054 ms) 2026-01-06 16:15:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590460054 ms) 2026-01-06 16:15:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590460054 ms) 2026-01-06 16:15:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590460054 ms) 2026-01-06 16:15:41.759 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590461080 ms) 2026-01-06 16:15:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590461081 ms) 2026-01-06 16:15:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:15:40.710537+00:00', 'runtime': '590460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590461082 ms) 2026-01-06 16:15:41.761 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:14:40.710752+00:00', 'runtime': '590400.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590461082 ms) 2026-01-06 16:16:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590480071 ms) 2026-01-06 16:16:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590480072 ms) 2026-01-06 16:16:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:15:40.710609+00:00'} (T+590480075 ms) 2026-01-06 16:16:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590520083 ms) 2026-01-06 16:16:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590520083 ms) 2026-01-06 16:16:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590520084 ms) 2026-01-06 16:16:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590520084 ms) 2026-01-06 16:16:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590521123 ms) 2026-01-06 16:16:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590521124 ms) 2026-01-06 16:16:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:16:40.710810+00:00', 'runtime': '590520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590521126 ms) 2026-01-06 16:16:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:15:40.710537+00:00', 'runtime': '590460.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590521127 ms) 2026-01-06 16:17:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590540090 ms) 2026-01-06 16:17:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590540091 ms) 2026-01-06 16:17:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:16:40.710882+00:00'} (T+590540093 ms) 2026-01-06 16:17:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590580082 ms) 2026-01-06 16:17:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590580083 ms) 2026-01-06 16:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590580083 ms) 2026-01-06 16:17:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590580084 ms) 2026-01-06 16:17:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590581114 ms) 2026-01-06 16:17:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590581114 ms) 2026-01-06 16:17:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:17:40.710727+00:00', 'runtime': '590580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590581115 ms) 2026-01-06 16:17:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:16:40.710810+00:00', 'runtime': '590520.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590581116 ms) 2026-01-06 16:18:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590600087 ms) 2026-01-06 16:18:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590600088 ms) 2026-01-06 16:18:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:17:40.710846+00:00'} (T+590600094 ms) 2026-01-06 16:18:40.754 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590640075 ms) 2026-01-06 16:18:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590640076 ms) 2026-01-06 16:18:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590640076 ms) 2026-01-06 16:18:40.755 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590640076 ms) 2026-01-06 16:18:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590641114 ms) 2026-01-06 16:18:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590641115 ms) 2026-01-06 16:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:18:40.710742+00:00', 'runtime': '590640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590641117 ms) 2026-01-06 16:18:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:17:40.710727+00:00', 'runtime': '590580.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590641117 ms) 2026-01-06 16:19:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590660090 ms) 2026-01-06 16:19:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590660091 ms) 2026-01-06 16:19:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:18:40.713237+00:00'} (T+590660093 ms) 2026-01-06 16:19:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590700083 ms) 2026-01-06 16:19:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590700084 ms) 2026-01-06 16:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590700084 ms) 2026-01-06 16:19:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590700084 ms) 2026-01-06 16:19:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590701119 ms) 2026-01-06 16:19:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590701119 ms) 2026-01-06 16:19:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:19:40.710750+00:00', 'runtime': '590700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590701120 ms) 2026-01-06 16:19:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:18:40.710742+00:00', 'runtime': '590640.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590701121 ms) 2026-01-06 16:20:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590720091 ms) 2026-01-06 16:20:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590720092 ms) 2026-01-06 16:20:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:19:40.710853+00:00'} (T+590720094 ms) 2026-01-06 16:20:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590760054 ms) 2026-01-06 16:20:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590760054 ms) 2026-01-06 16:20:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590760054 ms) 2026-01-06 16:20:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590760054 ms) 2026-01-06 16:20:41.761 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590761082 ms) 2026-01-06 16:20:41.762 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590761083 ms) 2026-01-06 16:20:41.764 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:20:40.710529+00:00', 'runtime': '590760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590761085 ms) 2026-01-06 16:20:41.764 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:19:40.710750+00:00', 'runtime': '590700.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590761085 ms) 2026-01-06 16:21:00.747 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590780068 ms) 2026-01-06 16:21:00.748 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590780069 ms) 2026-01-06 16:21:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:20:40.710588+00:00'} (T+590780072 ms) 2026-01-06 16:21:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590820076 ms) 2026-01-06 16:21:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590820077 ms) 2026-01-06 16:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590820077 ms) 2026-01-06 16:21:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590820077 ms) 2026-01-06 16:21:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590821114 ms) 2026-01-06 16:21:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590821115 ms) 2026-01-06 16:21:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:21:40.710756+00:00', 'runtime': '590820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590821117 ms) 2026-01-06 16:21:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:20:40.710529+00:00', 'runtime': '590760.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590821118 ms) 2026-01-06 16:22:00.762 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590840083 ms) 2026-01-06 16:22:00.763 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590840084 ms) 2026-01-06 16:22:00.765 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:21:40.710871+00:00'} (T+590840086 ms) 2026-01-06 16:22:40.764 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590880085 ms) 2026-01-06 16:22:40.765 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590880086 ms) 2026-01-06 16:22:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590880086 ms) 2026-01-06 16:22:40.766 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590880087 ms) 2026-01-06 16:22:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590881119 ms) 2026-01-06 16:22:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590881119 ms) 2026-01-06 16:22:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:22:40.713173+00:00', 'runtime': '590880.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590881120 ms) 2026-01-06 16:22:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:21:40.710756+00:00', 'runtime': '590820.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590881121 ms) 2026-01-06 16:23:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590900090 ms) 2026-01-06 16:23:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590900091 ms) 2026-01-06 16:23:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:22:40.710797+00:00'} (T+590900094 ms) 2026-01-06 16:23:40.763 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+590940085 ms) 2026-01-06 16:23:40.764 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+590940085 ms) 2026-01-06 16:23:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+590940086 ms) 2026-01-06 16:23:40.765 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+590940086 ms) 2026-01-06 16:23:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+590941120 ms) 2026-01-06 16:23:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+590941120 ms) 2026-01-06 16:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:23:40.713192+00:00', 'runtime': '590940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590941121 ms) 2026-01-06 16:23:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:22:40.713173+00:00', 'runtime': '590880.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+590941121 ms) 2026-01-06 16:24:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590960088 ms) 2026-01-06 16:24:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+590960089 ms) 2026-01-06 16:24:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:23:40.710799+00:00'} (T+590960092 ms) 2026-01-06 16:24:40.759 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591000080 ms) 2026-01-06 16:24:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591000080 ms) 2026-01-06 16:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591000081 ms) 2026-01-06 16:24:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591000081 ms) 2026-01-06 16:24:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591001119 ms) 2026-01-06 16:24:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591001120 ms) 2026-01-06 16:24:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:24:40.713162+00:00', 'runtime': '591000.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591001123 ms) 2026-01-06 16:24:41.803 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:23:40.713192+00:00', 'runtime': '590940.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591001124 ms) 2026-01-06 16:25:00.763 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591020084 ms) 2026-01-06 16:25:00.764 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591020085 ms) 2026-01-06 16:25:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:24:40.710794+00:00'} (T+591020088 ms) 2026-01-06 16:25:40.732 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591060054 ms) 2026-01-06 16:25:40.733 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591060054 ms) 2026-01-06 16:25:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591060054 ms) 2026-01-06 16:25:40.733 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591060054 ms) 2026-01-06 16:25:41.758 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591061079 ms) 2026-01-06 16:25:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591061080 ms) 2026-01-06 16:25:41.759 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:25:40.710510+00:00', 'runtime': '591060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591061081 ms) 2026-01-06 16:25:41.760 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:24:40.713162+00:00', 'runtime': '591000.004', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591061081 ms) 2026-01-06 16:26:00.750 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591080071 ms) 2026-01-06 16:26:00.751 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591080072 ms) 2026-01-06 16:26:00.754 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:25:40.710593+00:00'} (T+591080075 ms) 2026-01-06 16:26:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591120082 ms) 2026-01-06 16:26:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591120083 ms) 2026-01-06 16:26:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591120083 ms) 2026-01-06 16:26:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591120084 ms) 2026-01-06 16:26:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591121113 ms) 2026-01-06 16:26:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591121113 ms) 2026-01-06 16:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:26:40.710777+00:00', 'runtime': '591120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591121114 ms) 2026-01-06 16:26:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:25:40.710510+00:00', 'runtime': '591060.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591121115 ms) 2026-01-06 16:27:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591140087 ms) 2026-01-06 16:27:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591140088 ms) 2026-01-06 16:27:00.769 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:26:40.710878+00:00'} (T+591140090 ms) 2026-01-06 16:27:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591180083 ms) 2026-01-06 16:27:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591180083 ms) 2026-01-06 16:27:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591180084 ms) 2026-01-06 16:27:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591180084 ms) 2026-01-06 16:27:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591181119 ms) 2026-01-06 16:27:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591181120 ms) 2026-01-06 16:27:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:27:40.710770+00:00', 'runtime': '591180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591181121 ms) 2026-01-06 16:27:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:26:40.710777+00:00', 'runtime': '591120.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591181121 ms) 2026-01-06 16:28:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591200090 ms) 2026-01-06 16:28:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591200091 ms) 2026-01-06 16:28:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:27:40.710854+00:00'} (T+591200094 ms) 2026-01-06 16:28:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591240083 ms) 2026-01-06 16:28:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591240083 ms) 2026-01-06 16:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591240084 ms) 2026-01-06 16:28:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591240084 ms) 2026-01-06 16:28:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591241119 ms) 2026-01-06 16:28:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591241119 ms) 2026-01-06 16:28:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:28:40.710739+00:00', 'runtime': '591240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591241120 ms) 2026-01-06 16:28:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:27:40.710770+00:00', 'runtime': '591180.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591241121 ms) 2026-01-06 16:29:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591260091 ms) 2026-01-06 16:29:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591260092 ms) 2026-01-06 16:29:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:28:40.710847+00:00'} (T+591260094 ms) 2026-01-06 16:29:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591300082 ms) 2026-01-06 16:29:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591300083 ms) 2026-01-06 16:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591300083 ms) 2026-01-06 16:29:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591300083 ms) 2026-01-06 16:29:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591301116 ms) 2026-01-06 16:29:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591301117 ms) 2026-01-06 16:29:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:29:40.710721+00:00', 'runtime': '591300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591301119 ms) 2026-01-06 16:29:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:28:40.710739+00:00', 'runtime': '591240.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591301120 ms) 2026-01-06 16:30:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591320088 ms) 2026-01-06 16:30:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591320089 ms) 2026-01-06 16:30:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:29:40.710856+00:00'} (T+591320092 ms) 2026-01-06 16:30:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591360083 ms) 2026-01-06 16:30:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591360083 ms) 2026-01-06 16:30:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591360084 ms) 2026-01-06 16:30:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591360084 ms) 2026-01-06 16:30:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591361118 ms) 2026-01-06 16:30:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591361118 ms) 2026-01-06 16:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:30:40.710743+00:00', 'runtime': '591360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591361119 ms) 2026-01-06 16:30:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:29:40.710721+00:00', 'runtime': '591300.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591361119 ms) 2026-01-06 16:31:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591380091 ms) 2026-01-06 16:31:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591380092 ms) 2026-01-06 16:31:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:30:40.710860+00:00'} (T+591380095 ms) 2026-01-06 16:31:40.760 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591420081 ms) 2026-01-06 16:31:40.760 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591420081 ms) 2026-01-06 16:31:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591420081 ms) 2026-01-06 16:31:40.760 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591420082 ms) 2026-01-06 16:31:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591421114 ms) 2026-01-06 16:31:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591421115 ms) 2026-01-06 16:31:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:31:40.710754+00:00', 'runtime': '591420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591421117 ms) 2026-01-06 16:31:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:30:40.710743+00:00', 'runtime': '591360.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591421117 ms) 2026-01-06 16:32:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591440090 ms) 2026-01-06 16:32:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591440091 ms) 2026-01-06 16:32:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:31:40.710863+00:00'} (T+591440094 ms) 2026-01-06 16:32:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591480082 ms) 2026-01-06 16:32:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591480083 ms) 2026-01-06 16:32:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591480083 ms) 2026-01-06 16:32:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591480084 ms) 2026-01-06 16:32:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591481116 ms) 2026-01-06 16:32:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591481116 ms) 2026-01-06 16:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:32:40.710767+00:00', 'runtime': '591480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591481117 ms) 2026-01-06 16:32:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:31:40.710754+00:00', 'runtime': '591420.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591481117 ms) 2026-01-06 16:33:00.766 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591500087 ms) 2026-01-06 16:33:00.767 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591500088 ms) 2026-01-06 16:33:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:32:40.710868+00:00'} (T+591500091 ms) 2026-01-06 16:33:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591540082 ms) 2026-01-06 16:33:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591540083 ms) 2026-01-06 16:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591540083 ms) 2026-01-06 16:33:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591540084 ms) 2026-01-06 16:33:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591541113 ms) 2026-01-06 16:33:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591541113 ms) 2026-01-06 16:33:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:33:40.710753+00:00', 'runtime': '591540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591541114 ms) 2026-01-06 16:33:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:32:40.710767+00:00', 'runtime': '591480.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591541115 ms) 2026-01-06 16:34:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591560090 ms) 2026-01-06 16:34:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591560091 ms) 2026-01-06 16:34:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:33:40.710873+00:00'} (T+591560093 ms) 2026-01-06 16:34:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591600083 ms) 2026-01-06 16:34:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591600084 ms) 2026-01-06 16:34:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591600084 ms) 2026-01-06 16:34:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591600085 ms) 2026-01-06 16:34:41.799 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591601120 ms) 2026-01-06 16:34:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591601121 ms) 2026-01-06 16:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:34:40.710745+00:00', 'runtime': '591600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591601122 ms) 2026-01-06 16:34:41.801 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:33:40.710753+00:00', 'runtime': '591540.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591601122 ms) 2026-01-06 16:35:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591620090 ms) 2026-01-06 16:35:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591620091 ms) 2026-01-06 16:35:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:34:40.710875+00:00'} (T+591620093 ms) 2026-01-06 16:35:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591660082 ms) 2026-01-06 16:35:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591660083 ms) 2026-01-06 16:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591660083 ms) 2026-01-06 16:35:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591660084 ms) 2026-01-06 16:35:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591661118 ms) 2026-01-06 16:35:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591661118 ms) 2026-01-06 16:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:35:40.710742+00:00', 'runtime': '591660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591661119 ms) 2026-01-06 16:35:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:34:40.710745+00:00', 'runtime': '591600.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591661119 ms) 2026-01-06 16:36:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591680088 ms) 2026-01-06 16:36:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591680089 ms) 2026-01-06 16:36:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:35:40.710845+00:00'} (T+591680092 ms) 2026-01-06 16:36:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591720083 ms) 2026-01-06 16:36:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591720083 ms) 2026-01-06 16:36:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591720084 ms) 2026-01-06 16:36:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591720084 ms) 2026-01-06 16:36:41.798 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591721119 ms) 2026-01-06 16:36:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591721119 ms) 2026-01-06 16:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:36:40.710768+00:00', 'runtime': '591720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591721120 ms) 2026-01-06 16:36:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:35:40.710742+00:00', 'runtime': '591660.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591721121 ms) 2026-01-06 16:37:00.770 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591740091 ms) 2026-01-06 16:37:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591740092 ms) 2026-01-06 16:37:00.774 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:36:40.713242+00:00'} (T+591740095 ms) 2026-01-06 16:37:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591780076 ms) 2026-01-06 16:37:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591780077 ms) 2026-01-06 16:37:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591780077 ms) 2026-01-06 16:37:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591780077 ms) 2026-01-06 16:37:41.791 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591781112 ms) 2026-01-06 16:37:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591781113 ms) 2026-01-06 16:37:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:37:40.710721+00:00', 'runtime': '591780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591781115 ms) 2026-01-06 16:37:41.795 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:36:40.710768+00:00', 'runtime': '591720.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591781116 ms) 2026-01-06 16:38:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591800088 ms) 2026-01-06 16:38:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591800089 ms) 2026-01-06 16:38:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:37:40.710849+00:00'} (T+591800092 ms) 2026-01-06 16:38:40.758 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591840079 ms) 2026-01-06 16:38:40.759 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591840080 ms) 2026-01-06 16:38:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591840080 ms) 2026-01-06 16:38:40.759 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591840080 ms) 2026-01-06 16:38:41.795 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591841116 ms) 2026-01-06 16:38:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591841117 ms) 2026-01-06 16:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:38:40.710726+00:00', 'runtime': '591840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591841119 ms) 2026-01-06 16:38:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:37:40.710721+00:00', 'runtime': '591780.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591841120 ms) 2026-01-06 16:39:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591860090 ms) 2026-01-06 16:39:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591860091 ms) 2026-01-06 16:39:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:38:40.710847+00:00'} (T+591860094 ms) 2026-01-06 16:39:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591900083 ms) 2026-01-06 16:39:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591900083 ms) 2026-01-06 16:39:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591900083 ms) 2026-01-06 16:39:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591900084 ms) 2026-01-06 16:39:41.800 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591901122 ms) 2026-01-06 16:39:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591901123 ms) 2026-01-06 16:39:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:39:40.710728+00:00', 'runtime': '591900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591901125 ms) 2026-01-06 16:39:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:38:40.710726+00:00', 'runtime': '591840.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591901126 ms) 2026-01-06 16:40:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591920090 ms) 2026-01-06 16:40:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591920091 ms) 2026-01-06 16:40:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:39:40.710834+00:00'} (T+591920094 ms) 2026-01-06 16:40:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+591960083 ms) 2026-01-06 16:40:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+591960083 ms) 2026-01-06 16:40:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+591960083 ms) 2026-01-06 16:40:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+591960084 ms) 2026-01-06 16:40:41.797 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+591961118 ms) 2026-01-06 16:40:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+591961118 ms) 2026-01-06 16:40:41.798 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:40:40.710732+00:00', 'runtime': '591960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591961119 ms) 2026-01-06 16:40:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:39:40.710728+00:00', 'runtime': '591900.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+591961120 ms) 2026-01-06 16:41:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591980088 ms) 2026-01-06 16:41:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+591980089 ms) 2026-01-06 16:41:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:40:40.710856+00:00'} (T+591980091 ms) 2026-01-06 16:41:40.761 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592020082 ms) 2026-01-06 16:41:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592020083 ms) 2026-01-06 16:41:40.762 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592020083 ms) 2026-01-06 16:41:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592020084 ms) 2026-01-06 16:41:41.796 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592021117 ms) 2026-01-06 16:41:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592021118 ms) 2026-01-06 16:41:41.799 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:41:40.710738+00:00', 'runtime': '592020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592021120 ms) 2026-01-06 16:41:41.800 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:40:40.710732+00:00', 'runtime': '591960.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592021121 ms) 2026-01-06 16:42:00.771 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592040093 ms) 2026-01-06 16:42:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592040094 ms) 2026-01-06 16:42:00.776 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:41:40.713241+00:00'} (T+592040097 ms) 2026-01-06 16:42:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592080083 ms) 2026-01-06 16:42:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592080084 ms) 2026-01-06 16:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592080084 ms) 2026-01-06 16:42:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592080085 ms) 2026-01-06 16:42:41.801 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592081123 ms) 2026-01-06 16:42:41.802 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592081124 ms) 2026-01-06 16:42:41.805 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:42:40.710687+00:00', 'runtime': '592080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592081126 ms) 2026-01-06 16:42:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:41:40.710738+00:00', 'runtime': '592020.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592081127 ms) 2026-01-06 16:43:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592100090 ms) 2026-01-06 16:43:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592100092 ms) 2026-01-06 16:43:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:42:40.710855+00:00'} (T+592100094 ms) 2026-01-06 16:43:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592140083 ms) 2026-01-06 16:43:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592140084 ms) 2026-01-06 16:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592140084 ms) 2026-01-06 16:43:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592140085 ms) 2026-01-06 16:43:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592141113 ms) 2026-01-06 16:43:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592141114 ms) 2026-01-06 16:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:43:40.710718+00:00', 'runtime': '592140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592141115 ms) 2026-01-06 16:43:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:42:40.710687+00:00', 'runtime': '592080.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592141115 ms) 2026-01-06 16:44:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592160090 ms) 2026-01-06 16:44:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592160091 ms) 2026-01-06 16:44:00.772 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:43:40.710864+00:00'} (T+592160093 ms) 2026-01-06 16:44:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592200083 ms) 2026-01-06 16:44:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592200084 ms) 2026-01-06 16:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592200084 ms) 2026-01-06 16:44:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592200085 ms) 2026-01-06 16:44:41.803 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592201124 ms) 2026-01-06 16:44:41.804 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592201125 ms) 2026-01-06 16:44:41.806 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:44:40.710758+00:00', 'runtime': '592200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592201127 ms) 2026-01-06 16:44:41.807 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:43:40.710718+00:00', 'runtime': '592140.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592201128 ms) 2026-01-06 16:45:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592220090 ms) 2026-01-06 16:45:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592220091 ms) 2026-01-06 16:45:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:44:40.710850+00:00'} (T+592220094 ms) 2026-01-06 16:45:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592260076 ms) 2026-01-06 16:45:40.755 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592260076 ms) 2026-01-06 16:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592260077 ms) 2026-01-06 16:45:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592260077 ms) 2026-01-06 16:45:41.788 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592261110 ms) 2026-01-06 16:45:41.789 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592261110 ms) 2026-01-06 16:45:41.790 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:45:40.710699+00:00', 'runtime': '592260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592261111 ms) 2026-01-06 16:45:41.790 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:44:40.710758+00:00', 'runtime': '592200.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592261112 ms) 2026-01-06 16:46:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592280088 ms) 2026-01-06 16:46:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592280089 ms) 2026-01-06 16:46:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:45:40.713173+00:00'} (T+592280091 ms) 2026-01-06 16:46:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592320084 ms) 2026-01-06 16:46:40.763 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592320084 ms) 2026-01-06 16:46:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592320084 ms) 2026-01-06 16:46:40.764 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592320085 ms) 2026-01-06 16:46:41.792 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592321113 ms) 2026-01-06 16:46:41.792 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592321113 ms) 2026-01-06 16:46:41.793 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:46:40.710732+00:00', 'runtime': '592320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592321114 ms) 2026-01-06 16:46:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:45:40.710699+00:00', 'runtime': '592260.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592321115 ms) 2026-01-06 16:47:00.769 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592340090 ms) 2026-01-06 16:47:00.770 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592340091 ms) 2026-01-06 16:47:00.773 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:46:40.710844+00:00'} (T+592340094 ms) 2026-01-06 16:47:40.755 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592380076 ms) 2026-01-06 16:47:40.756 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592380077 ms) 2026-01-06 16:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592380077 ms) 2026-01-06 16:47:40.756 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Port details: {'device': '/dev/ttyAMA0', 'name': 'ttyAMA0', 'description': 'ttyAMA0', 'hwid': 'fe201000.serial', 'vid': None, 'pid': None, 'serial_number': None, 'location': None, 'manufacturer': None, 'product': None, 'interface': None, 'usb_device_path': None, 'device_path': '/sys/devices/platform/soc/fe201000.serial', 'subsystem': 'amba', 'usb_interface_path': None} (T+592380077 ms) 2026-01-06 16:47:41.793 | ERROR | Telemetry Process | plugins.state_monitor.StateMonitor | TypeError evaluating in on step State Monitor: can't multiply sequence by non-int of type 'str' (T+592381114 ms) 2026-01-06 16:47:41.794 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Error details: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/state_monitor.py", line 108, in execute power_now, power_pre = load_now * curr_now, load_pre * curr_pre TypeError: can't multiply sequence by non-int of type 'str' (T+592381115 ms) 2026-01-06 16:47:41.796 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Current data: {'time': '2026-01-06 16:47:40.710730+00:00', 'runtime': '592380.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592381117 ms) 2026-01-06 16:47:41.797 | INFO | Telemetry Process | plugins.state_monitor.StateMonitor | Previous data: {'time': '2026-01-06 16:46:40.710732+00:00', 'runtime': '592320.001', 'adc_vb_f': 'NA', 'adc_va_f': 'NA', 'adc_vl_f': 'NA', 'adc_ic_f': 'NA', 'adc_il_f': 'NA', 't_hs': 'NA', 't_batt': 'NA', 't_amb': 'NA', 't_rts': 'NA', 'charge_state': 'NA', 'array_fault': 'NA', 'vb_f': 'NA', 'vb_ref': 'NA', 'ahc_r': 'NA', 'ahc_t': 'NA', 'kwhc': 'NA', 'load_state': 'NA', 'load_fault': 'NA', 'v_lvd': 'NA', 'ahl_r': 'NA', 'ahl_t': 'NA', 'hourmeter': 'NA', 'alarm': 'NA', 'dip_switch': 'NA', 'led_state': 'NA', 'power_out': 'NA', 'sweep_vmp': 'NA', 'sweep_pmax': 'NA', 'sweep_voc': 'NA', 'vb_min_daily': 'NA', 'vb_max_daily': 'NA', 'ahc_daily': 'NA', 'ahl_daily': 'NA', 'array_fault_daily': 'NA', 'load_fault_daily': 'NA', 'alarm_daily': 'NA', 'vb_min': 'NA', 'vb_max': 'NA', 'ping': '1', 'sequence_count': 'NA', 'timestamp': 'NA', 'crc_errors': 'NA', 'valid_packets': 'NA', 'bytes_read': 'NA', 'bytes_written': 'NA', 'bytes_remaining': 'NA', 'packets_sent': 'NA', 'packets_dropped': 'NA'} (T+592381118 ms) 2026-01-06 16:48:00.767 | ERROR | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | TimeoutExpired evaluating in on step Rsync HAMMA plot: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592400088 ms) 2026-01-06 16:48:00.768 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Error details: Traceback (most recent call last): File "/usr/lib/python3.7/subprocess.py", line 474, in run stdout, stderr = process.communicate(input, timeout=timeout) File "/usr/lib/python3.7/subprocess.py", line 939, in communicate stdout, stderr = self._communicate(input, endtime, timeout) File "/usr/lib/python3.7/subprocess.py", line 1682, in _communicate self._check_timeout(endtime, orig_timeout) File "/usr/lib/python3.7/subprocess.py", line 982, in _check_timeout raise TimeoutExpired(self.args, orig_timeout) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 90, in execute out = self.rsync() File "/home/pi/dev/mjolnir-hamma/plugins/rsync_server.py", line 141, in rsync timeout=TIMEOUT, File "/usr/lib/python3.7/subprocess.py", line 479, in run stderr=stderr) subprocess.TimeoutExpired: Command '['rsync', '-avz', '--include=*.png', '--exclude=*', '/home/pi/brokkr/hamma/trigger_plots/', 'pi@hamma.dev:/var/www/hamma.dev/public_html/latest']' timed out after 10 seconds (T+592400089 ms) 2026-01-06 16:48:00.771 | INFO | Rsync HAMMA realtime info to server Process | plugins.rsync_server.RsyncServer | Current data: {'time': '2026-01-06 16:47:40.713230+00:00'} (T+592400092 ms) 2026-01-06 16:48:40.762 | ERROR | Telemetry Process | pymodbus.client.sync | [Errno 13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0' (T+592440083 ms) 2026-01-06 16:48:40.762 | ERROR | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Error reading modbus data: Cannot connect to device /dev/ttyAMA0 - ttyAMA0 (T+592440083 ms) 2026-01-06 16:48:40.763 | INFO | Telemetry Process | brokkr.inputs.modbus.ModbusSerialInput | Client details: {'method': 'rtu', 'socket': None, 'framer': , 'transaction': , '_debug': False, '_debugfd': None, 'broadcast_enable': False, 'port': '/dev/ttyAMA0', 'stopbits': 2, 'bytesize': 8, 'parity': 'N', 'baudrate': 9600, 'timeout': 2, '_strict': False, 'last_frame_end': None, 'handle_local_echo': False, '_t0': 0.0011458333333333333, 'inter_char_timeout': 0.00171875, 'silent_interval': 0.00401} (T+592440084 ms)